我想我没有看到更大的图片,或者错过了解BroadcastReceiver
的工作方式。
让我们想象一个虚拟应用程序,每当用户接到一个电话时,该应用程序就会在SD卡的文件中注册来电号码。为此,我只需创建一个BroadcastReceiver
,每次用户接听电话时都会Service
。{/ p>
现在,如果我希望该应用有效,我知道我无法使用unregisterReceiver()
方法拨打onPause()
。但另一方面,如果我运行应用程序,有时我会得到一个例外:
活动已泄露最初在此注册的IntentReceiver。你是否错过了对unregisterReceiver()的调用?
那么,我在这里缺少什么?如果我必须拨打unregisterReceiver()
,我的虚拟应用程序如何在每次通话时收到回叫?
谢谢,
答案 0 :(得分:2)
如果我必须调用unregisterReceiver(),我的虚拟应用程序如何在每次调用时都收到回调?
设置BroadcastReceiver
有两种方法:
registerReceiver()
,仅对因其他原因而运行的流程有用
<receiver>
您的情况听起来像是使用<receiver>
的情况。