繁体   English   中英

检索已注册的BroadcastReceiver的实例以注销

[英]Retrieve instance of a registered BroadcastReceiver to unregister

在我的应用程序中,我有2个BroadcastReceivers 让我们调用AReceiverBReceiver AReceiver只是在监听android.intent.action.BOOT_COMPLETED因此可以注册BReceiver进行其他操作(如果在我的应用程序设置中将其打开)。

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

  • 状态:开启
    • AReceiver 不会在启动时注册BReceiver
    • 从关闭更改为打开应注册BReceiver
  • 状态:关闭
    • AReceiver将在启动时注册BReceiver
    • 从开->关更改应注销BReceiver

这是我遇到的问题。 如果BReceiver是在AReceiverPreferenceActivity注册的,那么该如何注销呢? 我不知道我必须传递给unregisterBroadcastReceiver()作为参数,因为它需要已注册接收者的实例。

如何检索已注册的BroadcastReceiver的实例,以便注销该实例?

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

您可以使BReceiver的激活始终通过AReceiver进行(即使在首选项中将OFF-> ON设置为开)。 这样AReceiver可以存储BReceiver的实例并能够注销它。 是否有意义 ?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM