最近公司新项目是基于android 10的产品,需要更换一些原生的app,发现首次刷机后开机动画播完会进入一个黑屏界面,过10s左右才会进入开机引导界面,就抓log分析发现当前是FallbackHome,可看dumpsys 信息,如下
$ adb shell dumpsys activity activities | grep Resume
state=RESUMED stopped=false delayedResume=false finishing=false
mResumedActivity: ActivityRecord{9bcec35 u0 com.android.settings/.FallbackHome t2}
ResumedActivity:ActivityRecord{9bcec35 u0 com.android.settings/.FallbackHome t2}
ResumedActivity: ActivityRecord{9bcec35 u0 com.android.settings/.FallbackHome t2}
然后就了解FallbackHome,关于FallbackHome大家可自行百度或google了解。
现在问题来了,如何解决黑屏问题?
解决方案:延长开机动画,当FallbackHome消失时结束开机动画。
修改方案:
1.找到 frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java
private void performEnableScreen()函数:
............
if (!mBootAnimationStopped) {
Tra