Android 12.0 第三方app接收不到开机广播问题的解决以及开机自启动功能实现一
1.前言
在12.0的系统ROM定制化开发中,在定制某些功能中,但是某些第三方app需要在系统开机后,收到 开机广播,完成自启动功能实现,接下来先看怎么实现第三方app接收开机广播功能
2.第三方app接收不到开机广播问题的解决以及开机自启动功能实现一核心类
frameworks\base\services\core\java\com\android\server\am\ActivityManagerService.java
frameworks\base\services\core\java\com\android\server\am\UserController.java
3.第三方app接收不到开机广播问题的解决以及开机自启动功能实现一的核心功能分析和实现
Android3.1之后,系统为了加强了安全性控制,应用程序安装后或是(设置)应用管理中被强制关闭后处于stopped状态,在这种状态下接收不到任何广播,除非广播带有FLAG_INCLUDE_STOPPED_PACKAGES标志,而默认所有系统广播都是FLAG_EXCLUDE_STOPPED_PACKAGES的,所以就没法通过系统广播自启动了,有想详细了解FLAG_EXCLUDE_STOPPED_PACKAGES工作原理的朋友请参考《Android 3.1增加FLAG_EXCLUDE_STOPPED_PACKAGES和FLAG_