LẬP TRÌNH ANDROID NÂNG CAO Bài 2: Broadcast Receiver

24 241 0
LẬP TRÌNH ANDROID NÂNG CAO	Bài 2: Broadcast Receiver

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LẬP TRÌNH ANDROID NÂNG CAO Bài 2: Broadcast Receiver Nội dung học  Tổng quan Broadcast Receiver  Phân loại Broadcast Receiver  Miêu tả Broadcast Receiver  Vòng đời Broadcast Receiver  Hạn chế Broadcast Receiver Broadcast Receiver  Là thành phần ứng dụng Android  Chức dùng để nhận kiện mà ứng dụng hệ thống phát Broadcast Receiver Broadcast Receiver  Có cách phát-nhận:  Khơng có thứ tự: receiver đủ điều kiện nhận, khơng phân biệt tách rời  Có thứ tự: receiver đăng ký ưu tiên nhận trước, truyền thêm thơng tin xử lý cho receiver sau Vòng đời Broadcast Receiver  Vòng đời Broadcast Receiver gồm phương thức onReceive()  Khi có kiện mà Broadcast Receiver đăng ký nhận phát đi, phương thức onReceiver() BroadcastReceiver gọi  Sau thực xong phương thức này, vòng đời Broadcast Receiver kết thúc Vòng đời Broadcast Receiver  Ngay onReceive() kết thúc, hệ thống kill process chứa receiver lúc  Bạn nên tránh xử lý tốn nhiều thời gian Broadcast Receiver  Khơng nên có xử lý bất đồng bộ, chờ đợi callback Trong Receiver (ví dụ hiển thị Dialog, kết nối với service) Vòng đời Broadcast Receiver Broadcast hệ thống  Trong Android nhiều kiện hệ thống hệ thống gửi đến toàn ứng dụng hệ thống dạng broadcast intent Các intent có action định nghĩa dạng biến final static lớp Intent lớp khác (ví dụ TelephonyManager)  Một số kiện quan trọng:  Intent.ACTION_BOOT_COMPLETED  Intent.ACTION_BATTERY_LOW  Intent.ACTION_BATTERY_OKAY Một số Broadcast phổ biến  Báo hệ thống khởi động xong  Bán pin có thay đổi  Báo tắt máy  Báo cắm sạc, rút sạc  Báo có package cài vào hay xóa Một số Broadcast phổ biến  Thông báo tin nhắn tới  Thơng báo gọi đến  Bạn định nghĩa broadcast riêng (mục tiêu bạn liên lạc ứng dụng bạn viết đưa thông báo kiện quan trọng đến ứng dụng khác bạn với ứng dụng khác) onReceive()  Phương thức gọi đến có kiện tương ứng phát  Trong phương thức này, bạn truyền vào context intent O DEM Sử dụng phương thức onReceive Hạn chế Broadcast ReceiverBroadcast Receiver phải kết thúc việc thực thi 10 giây khơng có ANR exception  Từ Android 3.1, mặc định hệ thống loại bỏ tất receiver từ intent ứng dụng tương ứng với receiver chưa start người dùng ứng dụng bị stop cách tường minh người dùng thông qua menu (Manage Application) Đăng ký Broadcast Receiver qua AndroidManifest.xml I O DEM Xây dựng ứng dụng sử dụng Broadcast Receiver Đăng ký Broadcast Receiver qua code  Bạn đăng ký Broadcast Receiver code sử dụng phương thức Context.registerReceiver() onResume Activity  Trong onPause Activity, gọi phương thức Context.unregisterReceiver() Disable receiver  Để disable receiver đăng ký AndroidManifest.xml, sử dụng PackageManager Bảo mật Broadcast Receiver  Nếu bạn không muốn gửi broadcast ứng dụng khác, cân nhắc sử dụng LocalBroadcastManager  Lớp LocalBroadcastManager giúp cho bạn lo vấn đề bảo mật liên quan đến việc ứng dụng khác có gửi nhận broadcast bạn Bảo mật Broadcast Receiver  Intent namespace global bạn phải đảm bảo tên intent action xâu khác viết theo đặc trưng riêng bạn để đảm bảo tránh xung đột với ứng dụng khác  Khi bạn sử dụng registerReceiver(BroadcastReceiver, IntentFilter), ứng dụng gửi broadcast tới receiver đăng ký  Khi bạn publish receiver AndroidManifest.xml xác định intent filter cho receiver, ứng dụng gửi broadcast đến cho dù intent filter có nội dung Bảo mật Broadcast Receiver  Để ngăn cản ứng dụng khác gửi yêu cầu, sử dụng android:exported=“false”  Bắt đầu từ ICE_CREAM_SANDWICH, bạn hạn chế broadcast tới ứng dụng cụ thể sử dụng Intent.setPackage Sticky Broadcast Intent  Broadcast intent thông thường bị sau hệ thống xử lý xong  Nếu sử dụng Context.sendStickyBroadcastIntent để gửi broadcast intent intent khơng sau hệ thống xử lý  Chúng ta truy xuất đến intent phương thức Context.registerReceiver(BroadcastReceiver, IntentFilter)  Ví dụ Intent.ACTION_BATTERY_CHANGED sticky broadcast intent Chúng ta truy xuất đến lúc sau gửi O DEM Sử dụng sticky broadcast intent Tổng kết nội dung học  Tổng quan Broadcast Receiver  Phân loại Broadcast Receiver  Miêu tả Broadcast Receiver  Vòng đời Broadcast Receiver  Hạn chế Broadcast Receiver ... quan Broadcast Receiver  Phân loại Broadcast Receiver  Miêu tả Broadcast Receiver  Vòng đời Broadcast Receiver  Hạn chế Broadcast Receiver Broadcast Receiver  Là thành phần ứng dụng Android. .. Tổng kết nội dung học  Tổng quan Broadcast Receiver  Phân loại Broadcast Receiver  Miêu tả Broadcast Receiver  Vòng đời Broadcast Receiver  Hạn chế Broadcast Receiver ... Application) Đăng ký Broadcast Receiver qua AndroidManifest.xml I O DEM Xây dựng ứng dụng sử dụng Broadcast Receiver Đăng ký Broadcast Receiver qua code  Bạn đăng ký Broadcast Receiver code sử dụng

Ngày đăng: 27/02/2019, 17:28

Mục lục

  • LẬP TRÌNH ANDROID NÂNG CAO

Tài liệu cùng người dùng

Tài liệu liên quan