Memanfaatkan Broadcast Receiver di Android

Hai All, pada kesempatan kali ini saya ingin berbagi pengengalaman saat menggunakan Broadcast Receiver pada sebuah aplikasi. Tapi sebelum membahas tentang bagaimana Broadcast Receiver ini diimplementasikan, ada baiknya jika kita memulai pembahasan dari definisi Broadcast Receiver itu sendiri agar sependapat.

Kesimpulan yang saya tarik dari penjelasan di Android Reference tentang Broadcast Receiver, bahwa Broadcast Receiver merupakan salah satu komponen Android yang bertugas dalam penerima pesan dari sistem atau sebuah aplikasi, bentuk pesan yang dikirim ini bisa berupa event atau invent.

Contoh gampangnya gini, Broadcast Receiver ini akan membuat pemberitahuan pada aplikasi bahwa telah ada perubahan, misalnya data telah selesai di unduh, battery tinggal 10% lagi, dsb. Nah pesan yang diterima inilah yang nantinya berfungsi untuk melakukan tindakan apa yang dilakukan selanjutnya.

Nah, dengan Broadcast Receiver ini aplikasi yang kita kembangkan telah didaftarkan sebagai salah satu penerima pesan untuk suatu kondisi tertentu.

Jika Anda ingin membuat aplikasi yang “baik”, Broadcast Receiver ini sangat penting. Karena salah satu syarat aplikasi itu bisa dikatakan baik adalah user dapat merasakan dampak kegunaan dari fitur aplikasi secara langsung Contohnya seperti notifikasi pada aplikasi chat yang memberitahu bahwa ada pesan baru, efek bonusnya adalah aplikasi menjadi aktif digunakan.

Nah wajib tonton video ini, agar pemahaman Broadcast Receiver lebih matang sebelum kita memulai implementasi.

 


Let’s Code it ..

Syarat yang harus disiapkan sebelum mengimplementasikan Broadcast Receiver adalah membuat Broadcast Receiver itu sendiri dan mendaftarkannya Broadcast Receiver pada file AndroidManifest.xml.

  • Membuat Broadcast Receiver
    Disini saya membuat class baru dengan nama Receiver dengan subclass dari BroadcastReceiver yang merupakan class abstrak dengan method onReceive().

    Yang artinya jika sistem mendeteksi adanya perubahan maka Android akan memanggil method onReceive() pada semua receiver yang ada di aplikasi yang telah di daftarkan.

  • Mendaftarkan Broadcast Receiver
    Untuk mendaftar class yang kita buat tadi bisa dilakukan dengan dua cara, yaitu mendaftarkannya melalui AndroidManifest.xml atau pada code langsung.
    1. Mendaftarkan Broadcast Receiver melalui AndroidManifest.xml

    Untuk mendaftarkan Broadcast Receiver pada file AndroidManifest.xml, kita harus membuat tag <receiver> yang didalmnya terdapat intent filter. Maksudnya dengan menggunakan intent filter, kita memberitahukan kepada sistem bahwa setiap pemanggilan intent yang cocok dengan yang kita definisikan akan menerima pesan dari Broadcast Receiver yang kita buat sebelumnya.2. Mendaftarkan Broadcast Receiver melalui code secara dinamis

  • Mengirimkan Broadcast dalam bentuk Event atau Intent

    Nah kita telah membuat Broadcast Receiver dan telah mendaftarkannya, pekerjaan selanjutnya adalah mengirimkan Broadcast dalam bentuk Event atau Intent.

    Pertama kita deklarasikan intennya, dan mengisikan contoh data “Log”, “Book” sebagai data yang dikirim dengan menggunakan sendBroadcast(). Receiver ini nantinya akan bekerja secara Asynchronous, dan penambahan flag pada code tersebut bertujuan agar intent yang dikirim diterima Broadcast Receiver atau tidak, seperti pada problem ini.

  • Security
    Nah karena kita menggunakan Broadcast Receiver, itu artinya aplikasi yang dikembangkan memiliki fitur cross-application (lintas aplikasi), maksudnya aplikasi lain juga bisa menerima broadcast yang kita kirim. Oleh karena itu kita wajib mengimplementasikan security dan controll permission, thread berikut berguna untuk masalah tersebut.

Coba impelementasikan pembahasan diatas dalam bentuk aplikasi, misalnya seperti aplikasi alarm ini. Dan coba juga salah satu contoh implementasinya pada aplikasi Forecast yang ada di Udacity.

Jika kita hanya perlu mengirimkan pesan untuk beberapa aplikasi saja, kita cukup menggunakan class LocalBroadCastManager. Karena class ini akan membuat implementasi atau pekerjaan lebih mudah dan efisien. Karena tidak perlu melakukan cross-process-communitation dan juga kita tidak perlu memikirkan isu security lagi karena class ini telah meng-handle-nya. Berikut contoh class dalam menggunakan Local Broadcast Manager:

Dan berikut cara untuk mendaftarkannya:

Well.., semoga sharing kali ini dapat menjawab pertanyaan seputar Broadcast Receiver di Android. Kalaupun ada yang kurang atau salah let’s discuss ..

Semoga bermanfaat ..


Baca juga :

Iklan

Good People write good comments ..

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s