AMS的systemReady中,startHomeOnAllDisplays,起的是com.android.settings/.FallbackHome ,
几秒后才起 com../.DefaultActivity。
开机动画结束后进入开机向导前出现黑屏的原因是:
开机向导没有设置过android:directBootAware="true"属性,因此它必须要等动画结束,ACTION_USER_UNLOCKED发送后,com.android.settings/.FallbackHome 才能退出并加载启动开机向导,这样就会引起黑屏现象。
在开机向导的 application 里加了android:directBootAware=“true”
可以参考gms包里开机向导,有多个activity设置了directBootAware属性。
当手机开机,首先进入一个Dierect Boot的模式,
1、在这个模式下只可以访问device-encrypted store下的数据, 无法访问credential-encrypted store下的数据。当用户解锁后就都可以访问了。
2、一般情况下,应用是无法在Direct Boot模式下运行的
3、如果需要某个app能够在Direct Boot模式下运行,需要注册相关APP的组件。
应用组件申请在Direct Boot模式下运行:在AndroidManinfest.xml中设置 android:directBootAware=“true”。(可参照gms包里的开机向导)