7.3: Broadcast Receivers
Task 1. Set up the PowerReceiver Project
Dalam praktik ini Anda akan belajar:
- Membuat subkelas dan mengimplementasikan BroadcastReceiver.
- Mendaftar intent Siaran sistem.
- Membuat dan mengirim intent Siaran khusus.
1.1 Membuat Proyek
Membuat proyek baru bernama PowerReceiver, menerima opsi default dan menggunakan template Empty
Membuat Penerima Siaran baru. Pilih nama paket dalam Tampilan Proyek Android dan buka File > New > Other > Broadcast Receiver
Beri nama kelasnya CustomReceiver dan pastikan “Exported” dan “Enabled” dicentang
1.2 Mendaftarkan Penerima untuk siaran sistem
Dalam file AndroidManifest.xml, tambahkan kode berikut di antara tag <receiver>
untuk mendaftarkan Penerima Anda untuk Intent system
1.3 Mengimplementasikan onReceive() dalam BroadcastReceiver
Buka file CustomReceiver, dan hapus implementasi default dalam metode onReceive() kemudian
dapatkan tindakan dari intent dan simpan dalam variabel String
bernama intentAction
Buat pernyataan switch
dengan string intentAction
, agar aplikasi dapat menampilkan pesan toast yang berbeda untuk setiap tindakan spesifik yang didaftarkan kepada penerima. Serta :
- Inisialisasi variabel
String
bernamatoastMessage
sebelum pernyataanswitch
, dan jadikan nilainyanull
agar bisa disetel tergantung pada tindakan siaran yang Anda terima. - Tetapkan
toastMessage
ke “Power connected!” jika tindakannyaACTION_POWER_CONNECTED
, dan “Power disconnected!” jikaACTION_POWER_DISCONNECTED
. Ekstrak sumber daya string. - Tampilkan pesan toast untuk durasi pendek setelah pernyataan switch:
Toast.makeText(context, toastMessage, Toast.LENGTH_SHORT).show()
Run your app
1.4 Membatasi Penerima Siaran
Agar penerima siaran hanya aktif ketika aplikasi ditampilkan, aktifkan penerima dalam onStart()
dan nonaktifkan dalam onStop()
.
Task 2. Send and Receive a Custom Broadcast
2.1 Mendefinisikan string Tindakan Siaran khusus
Buat variabel String
konstan dalam MainActivity dan kelas CustomReceiver untuk digunakan sebagai Tindakan Intent Siaran (ini adalah string tindakan khusus)
2.2 Tambahkan Tombol “Send Custom Broadcast”
Dalam file activity_main.xml, tambahkan tampilan Tombol
2.3 Mengimplementasikan sendCustomBroadcast()
Dalam metode sendCustomBroadcast()
di MainActivity, buat Intent baru, dengan string tindakan khusus sebagai argument
2.4 Mendaftarkan Siaran Khusus
2.5 Merespons Siaran Khusus
hasil run
LEAVE A COMMENT