Contoh Penggunaan Intent dalam Aplikasi
1. Aplikasi E-commerce:
- Explicit Intent: Memulai Activity detail produk saat pengguna mengeklik item di daftar produk.
- Implicit Intent: Membagikan detail produk ke aplikasi media sosial atau email.
2. Aplikasi Media Sosial:
- Explicit Intent: Memulai Activity komentar saat pengguna mengeklik tombol “Lihat Komentar”.
- Implicit Intent: Membuka tautan eksternal di browser default pengguna.
3. Aplikasi Musik:
- Explicit Intent: Memulai Service untuk memutar lagu di latar belakang.
- Implicit Intent: Membagikan lagu ke aplikasi lain seperti WhatsApp atau Instagram.
Artikel Menarik Lainnya
4. Broadcast Receiver: Merespons Perubahan Sistem
Broadcast Receiver adalah komponen penting dalam aplikasi Android yang memungkinkan aplikasi Anda merespons Broadcast Intent yang dikirim oleh sistem Android atau aplikasi lain. Broadcast Intent adalah pesan sistem yang menginformasikan tentang perubahan status atau peristiwa tertentu, seperti perubahan status baterai, konektivitas jaringan, atau pesan SMS yang masuk.
Dengan menggunakan Broadcast Receiver, Anda dapat membuat aplikasi yang lebih responsif terhadap perubahan lingkungan atau sistem, sehingga memberikan pengalaman pengguna yang lebih baik.
Cara Kerja Broadcast Receiver
Broadcast Receiver berjalan di latar belakang dan tidak memiliki antarmuka pengguna. Mereka dirancang untuk merespons Broadcast Intent dengan cepat dan efisien. Berikut adalah beberapa poin penting tentang cara kerja Broadcast Receiver:
1. Pendaftaran:
- Broadcast Receiver harus didaftarkan ke sistem Android agar dapat merespons Broadcast Intent.
- Pendaftaran dapat dilakukan secara statis (melalui AndroidManifest.xml) atau dinamis (melalui kode program).
Contoh pendaftaran statis di AndroidManifest.xml:
<receiver android:name=“.MyBroadcastReceiver”>
<intent-filter>
<action android:name=“android.intent.action.BATTERY_LOW” />
</intent-filter>
</receiver>
Contoh pendaftaran dinamis dalam kode:
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_LOW);
MyBroadcastReceiver receiver = new MyBroadcastReceiver();
registerReceiver(receiver, filter);
2. Waktu Eksekusi Terbatas:
- Broadcast Receiver hanya memiliki waktu sekitar 5 detik untuk menyelesaikan tugasnya.
- Jika tugas memerlukan waktu lebih lama, seperti mengunduh data atau memproses file, sebaiknya Anda memulai Service atau menggunakan WorkManager.
3. Tugas yang Dapat Dilakukan:
- Mengirim Notifikasi: Memberi tahu pengguna tentang perubahan status, seperti baterai lemah atau koneksi internet terputus.
- Memulai Service: Memulai Service untuk melakukan tugas latar belakang, seperti sinkronisasi data.
- Memperbarui Data: Memperbarui data lokal atau mengirim data ke server.
Jenis-Jenis Broadcast Intent
Broadcast Intent dapat dibagi menjadi dua jenis:
1. Normal Broadcast:
- Dikirim secara asinkronus ke semua Broadcast Receiver yang terdaftar.
- Contoh: ACTION_BOOT_COMPLETED (dikirim saat perangkat selesai booting).
2. Ordered Broadcast:
- Dikirim secara berurutan ke satu Broadcast Receiver pada satu waktu.
- Broadcast Receiver dapat memodifikasi hasil atau menghentikan penyebaran Broadcast Intent.
- Contoh: ACTION_NEW_OUTGOING_CALL (dikirim saat pengguna melakukan panggilan keluar).
Contoh Penggunaan Broadcast Receiver
1. Merespons Perubahan Baterai:
- Broadcast Receiver dapat mendeteksi saat baterai perangkat hampir habis (ACTION_BATTERY_LOW) atau sedang diisi (ACTION_BATTERY_OKAY).
- Contoh: Mengirim notifikasi kepada pengguna saat baterai lemah.