Yanıtlar:
İşte Android SDK'nın söylediği şeysendStickyBroadcast()
:
"Yapışkan" olan bir sendBroadcast (Niyet) gerçekleştirin, yani gönderdiğiniz Niyet yayın tamamlandıktan sonra ortalıkta kalır, böylece diğerleri bu verileri registerReceiver'ın (BroadcastReceiver, IntentFilter) dönüş değeri aracılığıyla hızlı bir şekilde alabilir. Diğer tüm şekillerde, bu, sendBroadcast (Intent) ile aynı şekilde davranır.
İşletim sistemi aracılığıyla gönderilen yapışkan yayına bir örnek ACTION_BATTERY_CHANGED
. Bu registerReceiver()
eylemi çağırdığınızda - a ile bile null
BroadcastReceiver
- Intent
o eylem için son yayını alırsınız . Bu nedenle, pilin gelecekteki tüm durum değişikliklerini kaydetmeden pilin durumunu bulmak için bunu kullanabilirsiniz.
Türler : - Yerel, Normal, Sıralı ve Yapışkan
Normal Yayın
: - sendBroadcast () kullanın
: - eşzamansız yayın
: - herhangi bir alıcı belirli bir sipariş değil yayın alır
Sıralı Yayın
: - sendOrderedBroadcast () kullanın
: - eşzamanlı yayın
: - alıcı yayını öncelikli bazda alır
: - bu türdeki yayını da iptal edebiliriz
Yerel Yayın
: - yalnızca yayın yalnızca aynı işlem içinde kullanıldığında kullanın
Yapışkan Yayın
: - normal yayın amacı, sistem tarafından gönderildikten ve işlendikten sonra artık kullanılamaz.
: - sendStickyBroadcast (Amaç) kullanın
: - karşılık gelen niyet yapışkan, yani gönderdiğiniz niyet yayın tamamlandıktan sonra ortalıkta kalıyor.
: - bu nedenle başkaları, registerReceiver'ın (BroadcastReceiver, IntentFilter) dönüş değeri aracılığıyla bu verileri hızla alabilir.
: - bunun dışında sendBroadcast (Niyet) ile aynı.
sendbroadcast()
- normal yayın, ancak önceliği de belirleyebiliriz.
sendstickybroadcast()
- bununla aktarılan niyet, kod aracılığıyla kaydolan gelecekteki kullanıcılar için (dinamik alıcılar) çubuk olacaktır. Android'e bağlı kalacak ve herhangi bir yayın alıcısından gelecek taleplere yeniden teslim edilecek veya yeniden yayınlanacak yayın
Biri sendstickyBroadcast(intent);
bunu kullanarak yapışkan bir yayın gönderdiğinde, o yayın dinamik alıcılar kullanan gelecekteki kullanıcılar için mevcut olacaktır.
Ama şimdi sendStickyBroadcast()
yöntemi kullanmamalısın , bu kullanımdan kaldırıldı
Android Belgelerinden:
Bu yöntem API seviyesi 21'de kullanımdan kaldırılmıştır. Yapışkan yayınlar kullanılmamalıdır. Hiçbir güvenlik sağlamazlar (bunlara herkes erişebilir), koruma sağlamaz (herkes bunları değiştirebilir) ve daha birçok sorun sağlar. Önerilen model, bir şeyin değiştiğini bildirmek için yapışkan olmayan bir yayın kullanmak, uygulamaların istendiğinde mevcut değeri alması için başka bir mekanizma kullanmaktır.
Umarım bu yardımcı olur.