2012-08-06 16 views
10

Bir yayının yapışkan modda gönderilip gönderilmediğini kontrol etmek mümkün mü?Bu, bir yayının yapışkan modda gönderilip gönderilmediğini kontrol etmek mümkün mü? Durdurulabilir mi/kaldırılabilir mi?

Yapışkan yayını tamamen iptal edebilir miyiz? Evet ise, hem normal hem de düzenli yayınlar için yapılabilir mi?

+2

Yapışkan yayınlar kaldırılabilir; bkz .... http://stackoverflow.com/questions/11839043/android-how-can-i-completely-abort-remove-sticky-broadcast –

cevap

20

onReceive() için aşağıda belirtilen aramaları kullanabilirsiniz:

isInitialStickyBroadcast() - Bu söyleyecektir eğer şu anda "bağlantılı" olarak gönderilir ve BroadcastReceiver kayıtlı tarihte geçerli biriydi işlemden geçirilmesi çok yayınlanmaktadır.

- Şu anda işlediğiniz yayın "sıralı" yayın olarak gönderildiğini size söyleyecektir. Sadece bir "yapışkan" yayın olup olmadığını görmek istiyorsanız

, sen

registerReceiver (BroadcastReceiver receiver, IntentFilter filter) 

arayıp receiver parametre olarak null sağlayabilmektedir. Bu, alıcıyı kaydetmeden herhangi bir "yapışkan" yayını geri getirecektir.

kullanarak bir sabit yayın kaldırabilirsiniz: karşı-üretken olacağını Ancak

removeStickyBroadcast(Intent intent) 

, IMHO. Genellikle "yapışkan" yayınlar bir şeyin güncel durumu belirtmek için gönderilir. Bu yüzden kaldırmak, bir uygulamanın mevcut durumu belirleyemediğini ima eder.

İlgili konular