android - 为什么某些广播接收器只能通过 Code 或 AndroidManifest 注册

标签 android broadcastreceiver

一些广播接收器只有在通过代码注册而不是在 AndroidManifest 中定义时才能工作。

例如:

SCREEN_ON, SCREEN_OFF

这些操作仅适用于在代码中注册的接收器。如果它们在 list 中注册,则不会发生错误,但它们也不会被调用。

这种无证行为的原因是什么?安全吗?

最佳答案

我认为这不存在安全问题。

list 定义的广播接收器已注册,即使应用程序不在内存中也可以接收 Intent 。相反的情况不会发生。

这可能是性能问题,因为为此类事件注册接收器可能会耗尽用户电池。

Main difference between Manifest and Programmatic registering of BroadcastReceiver

关于android - 为什么某些广播接收器只能通过 Code 或 AndroidManifest 注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22626132/

相关文章:

即使我指定了 api 级别,Android 也会显示弃用警告

android - xml 布局中的自定义 View 不起作用

android - 如何阻止 ADT Logcat View 在 Eclipse 中自动弹出?

android - 我应该在哪里注册广播接收器?

flutter - 在flutter中使用notifier 1.0.2插件后出现错误消息

java - 使用viewpager android单击按钮时幻灯片中的幻灯片变化

Android,使用 BOOT_COMPLETED Intent 拒绝权限

android - Activity 销毁时 Activity 的Backstack行为不端

java - 电池广播接收器不工作

java - 如何删除 "Status and notification bar"?