android - 在 Android 上注销 BroadcastReceiver

标签 android broadcastreceiver

我想我没有看到这里的大局,或者没有理解 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/

相关文章:

android - 在推广封闭测试轨道时,Google Play 会自动发布到生产环境吗?

java - 转换 SDK V3 : Modify Cast NotificationOptions runtime

java - Android - 帮助我使用 ArrayList

c# - 如何在 MonoDroid 的代码隐藏中设置边距?

Android-Broadcast Receiver 和 Intent Filter

android - BroadcastReceiver 中的 SharedPreferences 似乎没有更新?

android - 是否可以在 flutter 中为 SliverList 内的按钮实现 Dismissible 小部件

android - 清除最近的应用程序删除应用程序内存并且我的接收器停止工作

android - 带有 singleTop 的广播接收器 startActivity

android - 在每天的特定时间设置开机时间警报