android – 是否可以检查广播是否以粘性模式发送?可以中止/删除吗?

是否可以检查广播是否以粘性模式发送?

我们可以完全中止/删除粘性广播吗?如果是的话,那么可以对正常播放和有序广播进行播放吗?

解决方法

在onReceive()中,您可以使用以下调用:

isInitialStickyBroadcast() – 这将告诉您当前正在处理的广播是否发送为“sticky”,并且是BroadcastReceiver注册时的当前播放.

isOrderedBroadcast() – 这将告诉您您当前处理的广播是否作为“有序”广播发送.

如果你只是想看看是否有一个“粘性”广播,你可以打电话

registerReceiver (BroadcastReceiver receiver,IntentFilter filter)

并提供null作为接收器参数.这将返回任何“粘性”广播,而不实际注册接收器.

您可以使用以下方式删除粘性广播:

removeStickyBroadcast(Intent intent)

但是,IMHO将会产生反效果.通常发送“粘性”广播以指示某事物的当前状态.因此,删除它将意味着应用程序不可能确定当前状态.

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...