我想我没有看到这里的大局,或者没有理解 BroadcastReceiver
的工作原理。
让我们想象一个虚拟应用程序,每次用户接到电话时,该应用程序都会在 SD 卡上的一个文件中注册来电号码。为此,我只需创建一个 BroadcastReceiver
,它会在用户每次接到电话时启动一个 Service
。
现在,如果我想让该应用程序运行,我知道我不能在 onPause()
方法中调用 unregisterReceiver()
。但另一方面,如果我运行该应用程序,有时会出现异常:
Activity has leaked IntentReceiver that was originally registered here. Are you missing a call to unregisterReceiver()?
那么,我在这里缺少什么?如果我必须调用 unregisterReceiver()
,我的虚拟应用程序如何在每次调用时接收回调?
谢谢,
最佳答案
How can my dummy app receive callback at every call if I have to call unregisterReceiver()?
有两种方法可以设置BroadcastReceiver
:
registerReceiver()
,这仅对因其他原因而运行的进程有用<receiver>
在 list 中
您的情况听起来像是使用 <receiver>
的情况.
关于android - 在 Android 上注销 BroadcastReceiver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32019427/