Saya menemukan istilah ini di dokumentasi android dengan definisi yang menyertainya
Ini adalah siaran yang datanya dipegang oleh sistem setelah selesai, sehingga klien bisa dengan cepat mengambil data tersebut tanpa harus menunggu siaran berikutnya.
Apa artinya? Bisakah seseorang menguraikan penggunaannya dengan contoh tertentu? Saya yakin kami harus meminta izin untuk menggunakan maksud ini? Kenapa begitu?
<uses-permission android:name="android.permission.BROADCAST_STICKY"/> - Allows an application to broadcast sticky intents.
android
android-intent
Shouvik
sumber
sumber
Sticky broadcasts should not be used. They provide no security (anyone can access them), no protection (anyone can modify them), and many other problems. The recommended pattern is to use a non-sticky broadcast to report that something has changed, with another mechanism for apps to retrieve the current value whenever desired.
Jawaban:
Jika sebuah Aktivitas memanggil
onPause
dengan siaran normal, menerima Siaran bisa terlewat. Siaran permanen dapat diperiksa setelah dimulaionResume
.Perbarui 6/23/2020
Siaran tempel tidak digunakan lagi.
Lihat
sendStickyBroadcast
dokumentasi .Melaksanakan
Intent intent = new Intent("some.custom.action"); intent.putExtra("some_boolean", true); sendStickyBroadcast(intent);
Sumber daya
Posting terkait: Apa perbedaan antara sendStickyBroadcast dan sendBroadcast di Android?
Lihat
removeStickyBroadcast(Intent)
, dan di API Level 5 +,isInitialStickyBroadcast()
untuk penggunaan di ReceiveronReceive
.sumber
sendStickyBroadcast()
melakukan yangsendBroadcast(Intent)
disebut sticky, yaitu Intent yang Anda kirim tetap ada setelah siaran selesai, sehingga orang lain dapat dengan cepat mengambil data tersebut melalui nilai yang dikembalikanregisterReceiver(BroadcastReceiver, IntentFilter)
. Dengan cara lain, ini berperilaku sama sepertisendBroadcast(Intent)
. Salah satu contoh siaran permanen yang dikirim melalui sistem operasi adalahACTION_BATTERY_CHANGED
. Saat Anda memintaregisterReceiver()
tindakan itu - bahkan dengan nolBroadcastReceiver
- Anda mendapatkan Intent yang terakhir kali disiarkan untuk tindakan itu. Karenanya, Anda dapat menggunakan ini untuk mengetahui status baterai tanpa perlu mendaftarkan semua perubahan status baterai di masa mendatang.sumber
Nilai sticky broadcast adalah nilai yang terakhir disiarkan dan saat ini disimpan dalam cache tempel. Ini bukanlah nilai siaran yang diterima sekarang. Saya kira Anda dapat mengatakan ini seperti cookie browser yang dapat Anda akses kapan saja. Siaran lengket sekarang sudah tidak digunakan lagi, sesuai dengan dokumen untuk metode siaran tempel ( misalnya ):
sumber
Intent siaran normal tidak tersedia lagi setelah dikirim dan diproses oleh sistem. Jika Anda menggunakan metode sendStickyBroadcast (Intent), Intentnya bersifat sticky, artinya Intent yang Anda kirim tetap ada setelah siaran selesai.
Anda merujuk ke blog saya: masukkan deskripsi tautan di sini
sumber