En onReceive()
puede utilizar las siguientes llamadas:
isInitialStickyBroadcast()
- Esto le dirá si el programa está procesando actualmente fue enviado como "pegajosa" y era el actual cuando el BroadcastReceiver
se registró.
isOrderedBroadcast()
- Esto le indicará si la transmisión que está procesando actualmente se envió como una transmisión "ordenada".
Si lo que desea es ver si hay una emisión "pegajosa", puede llamar
registerReceiver (BroadcastReceiver receiver, IntentFilter filter)
y suministrar null
como parámetro receiver
. Esto devolverá cualquier emisión "fija" sin registrar realmente el receptor.
Puede eliminar una emisión persistente usando:
removeStickyBroadcast(Intent intent)
Sin embargo, en mi humilde opinión que sería contraproducente. Por lo general, las transmisiones "adhesivas" se envían para indicar el estado actual de algo. Entonces, eliminarlo implicaría que no es posible que una aplicación determine el estado actual.
Las emisiones fijas se pueden eliminar; ver .... http://stackoverflow.com/questions/11839043/android-how-can-i-completely-abort-remove-sticky-broadcast –