1

在我的应用程序中,我有 2 BroadcastReceivers。让我们调用AReceiverand BReceiverAReceiver只是在监听,android.intent.action.BOOT_COMPLETED所以它可以注册BReceiver不同的操作,如果它在我的应用程序的设置中打开的话。

所以我有一个PreferenceActivity可以切换我的应用程序状态的工具,这意味着:

  • 状态:开启
    • AReceiver不会在启动注册BReceiver
    • 从 Off -> On 更改应该注册BReceiver
  • 状态:关闭
    • AReceiverBReceiver在启动时注册
    • 从 On -> Off 更改应该取消注册BReceiver

这是我遇到的问题。BReceiver如果它在AReceiver或 中注册,我如何取消注册PreferenceActivity,而这可能同时被关闭?我不知道我必须unregisterBroadcastReceiver()作为参数传递什么,因为它需要注册接收器的实例。

如何检索已注册的实例BroadcastReceiver以便取消注册?

4

2 回答 2

0

您应该能够将 BReceiver 放入清单中(默认禁用),然后随时启用和禁用它。看看这里

于 2012-11-13T11:55:05.223 回答
0

您可以使 BReceiver 的激活始终通过 AReceiver 完成(即使在首选项中切换 OFF->ON 时)。这样 AReceiver 就存储了 BReceiver 的实例并能够取消注册它。是否有意义 ?

于 2012-11-13T12:26:28.077 回答