Launcher启动流程分2个阶段:
- AMS systemReady() 会启动一个临时Activity:com.android.settings.FallbackHome,如下流程
- 等到用户解锁成功后,FallbackHome轮询到有可用的RealHome包,会销毁掉自己,AMS发现没有可用的Activity之后再次启动Launcher,此时找到的才是真实的Launcher,如流程2 所示
流程1:FallbackHome启动流程
流程2:Real Launcher启动流程
FallbackHome声明
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
RenderFrame.MainActivity声明
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.LAUNCHER" />
startActivityUnchecked()流程如下:todo