zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

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

Android安装解决方案 设置 默认 一款 无效 12.0
2023-09-14 09:05:06 时间

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.ar