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

时间:2012-08-06 07:30:24

标签: android broadcastreceiver

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

我们可以完全中止/删除粘性广播吗?如果是,那么普通和有序广播都能做到吗?

1 个答案:

答案 0 :(得分:23)

onReceive()中,您可以使用以下来电:

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

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

如果您只想查看是否有“粘性”广播,可以致电

registerReceiver (BroadcastReceiver receiver, IntentFilter filter)

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

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

removeStickyBroadcast(Intent intent)

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

相关问题