这是否可以检查广播是否以粘性模式发送?
我们可以完全中止/删除粘性广播吗?如果是,那么可以对正常广播和有序广播都进行吗?
在onReceive()
您可以使用以下调用:
isInitialStickyBroadcast()
- 这将告诉您当前正在处理的广播是否作为“粘性”发送并且BroadcastReceiver
是注册时的当前广播。
isOrderedBroadcast()
- 这将告诉您当前正在处理的广播是否作为“有序”广播发送。
如果你只是想看看是否有“粘性”广播,你可以调用
registerReceiver (BroadcastReceiver receiver, IntentFilter filter)
并null
作为receiver
参数提供。这将返回任何“粘性”广播,而无需实际注册接收器。
您可以使用以下方法删除粘性广播:
removeStickyBroadcast(Intent intent)
但是,恕我直言,这将适得其反。通常发送“粘性”广播以指示某物的当前状态。因此,删除它意味着应用程序无法确定当前状态。