【发布时间】:2017-03-30 17:59:55
【问题描述】:
如果我通过 mainfest 文件为系统广播声明 BroadcastReceiver(例如 ACTION_POWER_DISCONNECTED),系统将在每次发送特定广播时调用它,因此 BroadcastReceiver 的生命周期不受限制。
但也有不能通过清单文件注册的广播。对于这些广播,我们必须使用相应的IntentFilter 调用context.registerReceiver。假设我为BOOT_COMPLETED 创建了一个BroadcastReceiver 并从中调用context.registerReceiver 而从不调用unregisterReceiver 这个接收器是否也永远存在(直到手机重新启动)?
以 Android O 为目标的应用无法再在其清单中为隐式广播注册广播接收器。隐式广播是不专门针对该应用的广播。
如果我上面的猜想是正确的,这将是系统更改的简单解决方法(当然您不应该这样做,但这是可能的)。那么在 BOOT_COMPLETED 广播之后注册的 BroadcastReceiver 是否与通过清单自动注册的 BroadcastReceiver 具有相同的生命周期(一直到下一次重新启动)?
【问题讨论】:
标签: android android-intent android-broadcastreceiver android-8.0-oreo