1.前言
在10.0的系统rom定制化开发中,对于在实现开启自启动app实现的功能开发中,所以就需要了解开机广播具体的 发送流程,从而来完善实现接收到开机广播,然后自启动app的功能,接下来看下自启动app的功能实现
2.开机广播发送流程分析的核心类
frameworks/base/services/core/java/com/android/server/am/UserController.java
frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java
frameworks/base/services/core/java/com/android/server/am/BroadcastQueue.java
3.开机广播发送流程分析的核心功能分析和实现
在系统启动过程中,会经历以下几个阶段 1.在Launch界面resume阶段,会向主线程消息队列放入new Idler(),在消息队列空闲的时候,就会调用。 2.通过Binder机制执行AMS的activityIdle,这个方法里面会检查是否完成开机。 3.调用finishBooting方法,来完成开机。在这个过程中第一次进入由于开机动画还没有停止从而会直接返回。 4.调用performEnableScreen方法,确定所有的窗口都已经绘制完成,包括Launch,