是否可以检查广播是否以粘性模式发送?
我们可以完全中止/删除粘性广播吗?如果是的话,那么可以对正常播放和有序广播进行播放吗?
解决方法
在onReceive()中,您可以使用以下调用:
isInitialStickyBroadcast() – 这将告诉您当前正在处理的广播是否发送为“sticky”,并且是BroadcastReceiver注册时的当前播放.
isOrderedBroadcast() – 这将告诉您您当前处理的广播是否作为“有序”广播发送.
如果你只是想看看是否有一个“粘性”广播,你可以打电话
registerReceiver (BroadcastReceiver receiver,IntentFilter filter)
并提供null作为接收器参数.这将返回任何“粘性”广播,而不实际注册接收器.
您可以使用以下方式删除粘性广播:
removeStickyBroadcast(Intent intent)
但是,IMHO将会产生反效果.通常发送“粘性”广播以指示某事物的当前状态.因此,删除它将意味着应用程序不可能确定当前状态.