http://vietjack.com/android/index.jsp Copyright © vietjack.com Broadcast Receiver Android Broadcast Receiver phản hồi thông báo phát từ ứng dụng khác từ hệ thống Những thơng báo đơi gọi event intent Ví dụ, ứng dụng khởi tạo tín hiệu broadcast để thông báo cho ứng dụng khác biết số liệu tới thiết vị có sẵn cho chúng để sử dụng, Broadcast Receiver thơng dịch thơng tin khởi tạo hành động thích hợp Sau hai bước quan trọng để làm Broadcast Receiver làm việc cho Intent: − • Tạo Broadcast Receiver • Đăng ký Broadcast Receiver Có thể có bước bổ sung bạn triển khai Custom Intent bạn, bạn phải tạo phát Intent Tạo Broadcast Receiver Android Một Broadcast Receiver triển khai lớp lớp BroadcastReceiver ghi đè phương thức onReceive(), nơi mà thông báo nhận tham số đối tượng Intent public class MyReceiver extends BroadcastReceiver { void onReceive(Context context, Intent intent) { "Intent Detected.", Toast.LENGTH_LONG).show(); @Override public Toast.makeText(context, } } Đăng ký Broadcast Receiver Android Một ứng dụng nghe Intent phát cụ thể cách đăng ký Broadcast Receiver AndroidManifest.xml file Giả sử đăng ký MyReceiver cho system event (sự kiện tạo từ hệ thống) tạo ACTION_BOOT_COMPLETED, mà kích hoạt hệ thống hệ điều hành Android hồn thành tiến trình boot http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 http://vietjack.com/android/index.jsp Copyright © vietjack.com BROADCAST-RECEIVER Bây giờ, thiết bị Android bạn boot, thơng báo nhận bởiMyReceiver trình triển khai logic bên phương thức onReceive() thực thi Có số system event định nghĩa là trường final static lớp Intent Bảng liệt kê số system event quan trọng: Event Miêu tả android.intent.action.BATTERY_CHANGED Thông báo chứa trạng thái nạp, mức độ, thông tin khác pin android.intent.action.BATTERY_LOW Chỉ trạng thái low battery thiết bị http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 http://vietjack.com/android/index.jsp Copyright © vietjack.com android.intent.action.BATTERY_OKAY Chỉ pin tốt sau low battery android.intent.action.BOOT_COMPLETED Đây tín hiệu broadcast thơng báo sau hệ thống kết thúc boot android.intent.action.BUG_REPORT Chỉ activity để báo cáo bug android.intent.action.CALL Thông báo lời gọi tới xác định liệu android.intent.action.CALL_BUTTON Người dùng nhấn nút call để tới Dialer (trình gọi điện) giao diện UI thích hợp khác để tạo gọi android.intent.action.DATE_CHANGED Date thay đổi android.intent.action.REBOOT Reboot thiết bị Tín hiệu Custom Intent Nếu bạn muốn ứng dụng bạn nên tạo gửi Custom Intent, bạn phải tạo gửi Intent việc sử dụng phương thức sendBroadcast() bên lớp Activity bạn Nếu bạn sử dụng phương thức sendStickyBroadcast(Intent) Intent làsticky, nghĩa Intent bạn gửi sau tín hiệu kết thúc public void broadcastIntent(View view) { Intent intent = new Intent(); intent.setAction("com.tutorialspoint.CUSTOM_INTENT"); sendBroadcast(intent); } Ở com.tutorialspoint.CUSTOM_INTENT đăng ký theo cách tương tự đăng ký intent tạo từ hệ thống (system intent) android:name="com.tutorialspoint.CUSTOM_INTENT"> My Application