In onReceive()
können Sie die folgenden Aufrufe verwenden:
isInitialStickyBroadcast()
- Dies wird Ihnen sagen, wenn die Sendung, die Sie sind zur Zeit als „sticky“ geschickt wurde, Verarbeitung und war der aktuelle, wenn der BroadcastReceiver
registriert wurde.
isOrderedBroadcast()
- Hier erfahren Sie, ob die Sendung, die Sie gerade bearbeiten, als "bestellte" Sendung gesendet wurde.
Wenn Sie wollen einfach nur sehen, ob es eine „sticky“ Sendung ist, können Sie
registerReceiver (BroadcastReceiver receiver, IntentFilter filter)
nennen und null
als receiver
Parameter liefern. Dies wird eine "klebrige" Sendung zurückgeben, ohne den Empfänger tatsächlich zu registrieren.
Sie können eine Dauerhaften Broadcast entfernen Verwendung:
removeStickyBroadcast(Intent intent)
IMHO jedoch, die kontraproduktiv wäre. Normalerweise werden "sticky" Broadcasts gesendet, um den aktuellen Zustand von etwas anzuzeigen. Würde man sie entfernen, würde dies bedeuten, dass eine Anwendung den aktuellen Zustand nicht ermitteln kann.
Sticky-Sendungen können entfernt werden; siehe ... http://stackoverflow.com/questions/11839043/android-how-can-i-completely-abort-remove-sticky-broadcast –