Android 广播接收机的生命周期

Android 广播接收机的生命周期,android,Android,我想要一个永远处于活动状态(100%)的BroadcastReceiver。现在,如果我在Android清单中注册了它,会是这样吗,或者当应用程序本身被Android框架破坏时,它会被杀死 现在,我还有一个服务一直在前台运行。这能确保我的应用程序永远不会被破坏吗?反过来,这将确保在Android清单中注册的我的接收器将永远保持活动状态。aBroadcastReceiver()位于清单上,它始终处于活动状态,即使活动不再运行,它也能工作(想想intent actionandroid.intent.

我想要一个永远处于活动状态(100%)的
BroadcastReceiver
。现在,如果我在Android清单中注册了它,会是这样吗,或者当应用程序本身被Android框架破坏时,它会被杀死


现在,我还有一个服务一直在前台运行。这能确保我的应用程序永远不会被破坏吗?反过来,这将确保在Android清单中注册的我的接收器将永远保持活动状态。

a
BroadcastReceiver
()位于清单上,它始终处于活动状态,即使活动不再运行,它也能工作(想想intent action
android.intent.action.BOOT_COMPLETED
的接收器,它会在每次开机时触发)。 只有在应用程序运行时(例如“的
registerReceiver(…)
approach),才可以通过数字方式定义和注册接收器

请参见哪些国家:

将广播接收器(BroadcastReceiver子类)声明为 应用程序的组件。广播接收器启用应用程序 接收由系统或其他系统广播的意图 应用程序,即使应用程序的其他组件不可用 跑步

说:

前台服务是一种被认为是某种东西的服务 用户主动意识到,因此不是系统的候选者 在内存不足时杀死


因此,系统很可能不会关闭该服务所指的正在运行的应用程序。

只想补充一点,在Android的更高版本上,清单中的广播接收器在应用程序至少运行一次之前不会处于活动状态。感谢fiipi提供准确的答案。我已经浏览了这些文档,但文档的大小每天都在增加,而且很多添加了不需要的信息。我将其与非常清晰的初始文档进行比较。我在问题中也提到了这一点,但它已被编辑:)再次感谢。是否有方法禁用/重新启用静态注册的broadcastreceiver?我希望在wifi扫描完成时收到通知,但只有在我的应用程序中启用了某些切换时才会收到通知。静态注册似乎有些过分,因此每次扫描完成约10-20秒时都会触发onReceive(),即使应用程序中的切换意味着我不采取任何行动。@BoomShaka您可以在切换重置时动态注册/注销广播。