[英]Retrieve instance of a registered BroadcastReceiver to unregister
in my app I have 2 BroadcastReceivers
. 在我的应用程序中,我有2个
BroadcastReceivers
。 Lets call the AReceiver
and BReceiver
. 让我们调用
AReceiver
和BReceiver
。 AReceiver
is just listening for android.intent.action.BOOT_COMPLETED
so it can register BReceiver
for a different action, if its turned on in the settings of my app. AReceiver
只是在监听android.intent.action.BOOT_COMPLETED
因此可以注册BReceiver
进行其他操作(如果在我的应用程序设置中将其打开)。
So I have a PreferenceActivity
that can switch the status of my app, which means: 所以我有一个
PreferenceActivity
,可以切换我的应用程序的状态,这意味着:
AReceiver
will not register BReceiver
at boot AReceiver
不会在启动时注册BReceiver
BReceiver
BReceiver
AReceiver
will register BReceiver
at boot AReceiver
将在启动时注册BReceiver
BReceiver
BReceiver
Here is the problem I'm having. 这是我遇到的问题。 How can I unregister
BReceiver
if it was either registered in AReceiver
or in the PreferenceActivity
, which could have been closed in the meanwhile? 如果
BReceiver
是在AReceiver
或PreferenceActivity
注册的,那么该如何注销呢? I don't know what I have to pass to unregisterBroadcastReceiver()
as an argument, since it wants the instance of the registered receiver. 我不知道我必须传递给
unregisterBroadcastReceiver()
作为参数,因为它需要已注册接收者的实例。
How do I retrieve the instance of a registered BroadcastReceiver
so I can unregister it? 如何检索已注册的
BroadcastReceiver
的实例,以便注销该实例?
You can make that activation of BReceiver is always done via AReceiver (even when switching OFF->ON in preferences). 您可以使BReceiver的激活始终通过AReceiver进行(即使在首选项中将OFF-> ON设置为开)。 So that AReceiver stores the instance of BReceiver and is able to unregister it.
这样AReceiver可以存储BReceiver的实例并能够注销它。 Does it make sense ?
是否有意义 ?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.