Ответ 1
В onReceive()
вы можете использовать следующие вызовы:
isInitialStickyBroadcast()
- Это скажет вам, была ли передача, которую вы сейчас обрабатываете, была отправлена как "липкая" и была текущей, когда был зарегистрирован BroadcastReceiver
.
isOrderedBroadcast()
- Это скажет вам, была ли передача, которую вы сейчас обрабатываете, была отправлена как "упорядоченная" трансляция.
Если вы просто хотите посмотреть, есть ли "липкая" трансляция, вы можете позвонить
registerReceiver (BroadcastReceiver receiver, IntentFilter filter)
и поставьте null
как параметр receiver
. Это вернет любую "липкую" трансляцию без фактической регистрации получателя.
Вы можете удалить липкую трансляцию, используя:
removeStickyBroadcast(Intent intent)
Однако ИМХО будет контрпродуктивным. Обычно "липкие" трансляции отправляются, чтобы указать текущее состояние. Поэтому удаление этого означает, что приложение не может определить текущее состояние.