12

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

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

4

1 回答 1

23

onReceive()您可以使用以下调用:

isInitialStickyBroadcast()- 这将告诉您当前正在处理的广播是否作为“粘性”发送并且BroadcastReceiver是注册时的当前广播。

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

如果你只是想看看是否有“粘性”广播,你可以调用

registerReceiver (BroadcastReceiver receiver, IntentFilter filter)

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

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

removeStickyBroadcast(Intent intent)

但是,恕我直言,这将适得其反。通常发送“粘性”广播以指示某物的当前状态。因此,删除它意味着应用程序无法确定当前状态。

于 2012-08-06T08:57:57.887 回答