Broadcast receivers là gì
Broadcast trong android là các sự kiện trên toàn hệ thống có thể xảy ra khi thiết bị khởi động, khi nhận được tin nhắn trên thiết bị hoặc khi nhận được cuộc gọi đến hoặc khi thiết bị chuyển sang chế độ trên máy bay, v.v. Broadcast receivers được sử dụng để phản hồi các sự kiện trên toàn hệ thống này. Broadcast receivers cho phép chúng tôi đăng ký các sự kiện của hệ thống và ứng dụng, và khi sự kiện đó xảy ra, bộ thu đăng ký sẽ được thông báo. Chủ yếu có hai loại máy thu phát sóng:
Static Broadcast Receivers: Các loại bộ thu này được khai báo trong tệp kê khai và hoạt động ngay cả khi ứng dụng bị đóng.
Dynamic Broadcast Receivers: Các loại bộ thu này chỉ hoạt động nếu ứng dụng đang hoạt động hoặc được thu nhỏ.
Các bài viết liên quan:
Vì từ API Cấp 26, hầu hết chương trình phát sóng chỉ có thể được bắt bởi bộ thu động, vì vậy chúng tôi đã triển khai bộ thu động trong dự án mẫu của chúng tôi được đưa ra bên dưới. Có một số trường tĩnh được định nghĩa trong lớp Intent có thể được sử dụng để phát các sự kiện khác nhau. Chúng tôi đã thực hiện thay đổi chế độ trên máy bay làm sự kiện phát sóng, nhưng có nhiều sự kiện có thể sử dụng đăng ký chương trình phát sóng. Sau đây là một số ý định quan trọng được tạo ra trên toàn hệ thống:
- android.intent.action.BATTERY_LOW: Cho biết tình trạng pin yếu trên thiết bị.
- android.intent.action.BOOT_COMPLETE: Điều này được phát một lần sau khi hệ thống khởi động xong
- android.intent.action.CALL: Để thực hiện cuộc gọi đến một người nào đó được chỉ định bởi dữ liệu
- android.intent.action.DATE_CHANGED: Cho biết ngày đã thay đổi
- android.intent.action.REBOOT: Cho biết rằng thiết bị đã được khởi động lại
- android.net.conn.CONNECTIVITY_CHANGE: Mạng di động hoặc kết nối wifi bị thay đổi (hoặc đặt lại)
- android.intent.ACTION_AIRPLANE_MODE_CHANGED: Điều này cho biết rằng chế độ trên máy bay đã được bật hoặc tắt.
Hai bước chính mà chúng tôi phải làm để sử dụng broadcast receiver trong ứng dụng của chúng tôi là:
- Creating the Broadcast Receiver:
- Registering a BroadcastReceiver:
Ví dụ
Dưới đây là dự án mẫu trình bày cách tạo Broadcast receivers và cách đăng ký chúng cho một sự kiện cụ thể và cách sử dụng chúng trong ứng dụng.
Bước 1: Tạo một project mới
Để tạo một dự án mới trong Android Studio, vui lòng tham khảo Cách tạo / Bắt đầu một dự án mới trong Android Studio.
Bước 2: Chỉnh sửa activity_main.xml
Đi tới tệp activity_main.xml và tham khảo đoạn mã sau. Dưới đây là mã cho tệp activity_main.xml.
Bước 3: Làm việc với tệp MainActivity.java
Đi tới tệp MainActivity và tham khảo đoạn mã sau. Dưới đây là mã cho tệp MainActivity. Nhận xét được thêm vào bên trong mã để hiểu mã chi tiết hơn.
Bước 4: Tạo một Class mới
Đi tới app > java >package > right-click > New > java File/Class và đặt tên các tệp là AirplaneModeChangeReceiver. Dưới đây là mã cho tệp AirplaneModeChangeReceiver. Nhận xét được thêm vào bên trong mã để hiểu mã chi tiết hơn.
Và kết quả: khi chúng ta active chế độ airplane sẽ nhận được Toast như sau