在活动改变期间丢失广播

时间:2012-01-16 16:24:30

标签: android android-intent

我想知道关于广播的一件事。

如果我有两个活动A和B.此外,我有广播接收器,它注册在两个活动的onResume()和onPause()中。 如果一个活动暂停但其他活动尚未恢复,我会收到通知怎么办?我的广播会丢失吗?

在这种情况下,我可以使用粘性广播吗?

1 个答案:

答案 0 :(得分:0)

我目前处于与你相同的情况,并使用 Sticky Broadcasts 进行解决。

根据文档,Sticky广播将在广播完成后留下来。因此,如果任何活动处于暂停 - 恢复周期(方向更改),您将在onResume()注册接收器后收到这些广播的通知。

请注意这些广播,因为如果您不使用removeStickyBroadcast(matchingIntent)解雇它们,它们将“永远”留在周围,如果活动再次恢复,它们可能会再次捕获它们。

使用sendStickyBroadcast()

发送粘性广播

使用removeStickyBroadcast()删除粘性广播。

此外,您需要{Man}身份BROADCAST_STICKY的许可;将其添加到<manifest>标记内:

<uses-permission android:name="android.permission.BROADCAST_STICKY"/>