[Android Nâng Cao] BroadcastReceiver trong Android

Hi các em trong bài ngày hôm nay chúng ta cùng tìm hiểu về BroadcastReceiver trong Android nhé .

1 . BroadcastReceiver là gì ?

là class sử dụng để gửi và nhận các Intent thông qua phương thức Context.sendBroadcast(Intent).

Tương tự như Activity, BroadcastRececiver cũng có vòng đời,, tuy nhiên đơn giản hơn Activity

2. BroadcastReceiver dùng để làm gì ?

BroadcastReceiver dùng để gửi và nhận các thông tin trong nội bộ 1 ứng dụng ,giữa các ứng dụng với nhau và giữa hệ thống Android với các phần mềm.

Ví dụ :

Truyền thông tin có tin nhắn mới cho ứng dụng SMS Manager, cuộc gọi tới Call Manager, các thông tin hiển thị như thiết bị kết nối dây sạc, trạng thái pin …

3. Các loại BroadcastReceiver thường dùng

Chúng ta phân biệt BroadcastReceiver thành 2 loại chính là :

a) BroadcastReceiver Hệ Thống

là các BroadcastReceiver có sẵn trong thư viện Android SDK dùng để lắng nghe các sự kiện trên điện thoại như sms, call …

Các em có thể tham khảo danh sách các Action cơ bản tại link : https://developer.android.com/reference/android/content/Intent

Ngoài ra, Android Sdk cũng lưu ý 1 số ACTION cho các phiên bản Android mới như Android 7,8,9. Các em tham khảo tại link :

https://developer.android.com/guide/components/broadcasts

b) BroadcastReceiver Tự tạo

Lập trình viên có thể tự kế thừa và khai báo các BroadcastReceiver để sử dụng cho các mục đích cụ thể.

Ví dụ : tạo ứng dụng lắng nghe thông tin sms, cuộc gọi, các sự kiện như Sạc Pin, Pin đầy, % Pin, App Manager, trạng thái Reboot của thiết bị …

4. Hướng dẫn tạo ứng dụng lắng nghe các sự kiện thường gặp của thiết bị

Bước 1 : Tạo class kế thừa BroadcastReceiver

Bước 2 : Khai báo BroadcastReceiver trong AndroidManifest.xml và các sự kiện mà BroadcastReceiver này lắng nghe từ hệ thống

5. Hướng dẫn tạo ứng dụng demo BroadcastReceiver

Trong demo này chúng ta sẽ làm chức năng sau :

Từ MainActivity mở ra SecondActivity. Ở SecondActivity sẽ gửi về MainActivity 1 biến String và hiển thị thông qua Toast

Bước 1 : Khai báo BroadcastReciever trong MainActivity, tại hàm onCreate

Bước 2 : Ở màn hình SecondActivity, tạo sự kiện cho nút “Send Message” và gửi biến String thông qua phương thức sendBroadcast()

Link code mẫu : https://github.com/huuhuybn/BroadCastReciever2