> 文章列表 > Android 12.0设置默认Launcher安装一款Launcher默认Launcher无效的解决方案

Android 12.0设置默认Launcher安装一款Launcher默认Launcher无效的解决方案

Android 12.0设置默认Launcher安装一款Launcher默认Launcher无效的解决方案

1.概述

在12.0的系统rom定制化过程中,在系统中当有多个Launcher的时候,这时候会要求设置默认Launcher,但是在最近的产品开发过程中,发现在设置完默认Launcher以后,在安装个Launcher的时候,会让原来设置的默认Launcher变为空了,就是在系统Settings中的默认应用中,launcher的选择项为空,在点击home键时,重新选择Launcher,所以这就需要看下pms在安装app时的相关代码,然后来实现功能的解决

2.设置默认Launcher安装一款Launcher默认Launcher无效的解决方案的核心类

frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java

3.设置默认Launcher安装一款Launcher默认Launcher无效的解决方案的核心功能分析和实现

首先来看下在PackageManagerService.java中,关于安装app的相关方法

void doHandleMessage(Message msg) {switch (msg.what) {....case POST_INSTALL: {if (DEBUG_INSTALL) Log.v(TAG, \"Handling post-install for \" + msg.arg1);