In onReceive()
è possibile utilizzare le seguenti chiamate:
isInitialStickyBroadcast()
- Questo vi dirà se la trasmissione si è in fase di elaborazione è stato inviato come "appiccicoso" ed è stato quello corrente quando il BroadcastReceiver
è stato registrato.
isOrderedBroadcast()
- Questo indica se la trasmissione attualmente in elaborazione è stata inviata come trasmissione "ordinata".
Se si desidera solo per vedere se c'è una trasmissione "appiccicoso", è possibile chiamare
registerReceiver (BroadcastReceiver receiver, IntentFilter filter)
e fornire null
come parametro receiver
. Ciò restituirà qualsiasi trasmissione "appiccicosa" senza registrare effettivamente il ricevitore.
È possibile rimuovere un broadcast permanenti utilizzando:
removeStickyBroadcast(Intent intent)
Tuttavia, secondo me, che sarebbe controproducente. Di solito trasmissioni "appiccicose" vengono inviate per indicare lo stato corrente di qualcosa. Quindi rimuoverlo implicherebbe che non è possibile per un'applicazione determinare lo stato corrente.
fonte
2012-08-06 08:57:57
Le trasmissioni appiccicose possono essere rimosse; vedere .... http://stackoverflow.com/questions/11839043/android-how-can-i-completely-abort-remove-sticky-broadcast –