Android 12.0无源码apk设置默认启动Launcher的相关属性
1.概述
在12.0的系统产品开发中,对于一些产品的需求,需要将一些无源码app的某个MainActivity作为启动Launcher页面的功能实现,由于没有源码,所以需要
利用PMS的安装解析apk的AndroidManifest.xml的时候,在判断是某个Activity的时候,设置Lancher属性来实现某些功能
2.无源码apk设置默认启动Launcher的相关属性的核心类
frameworks/base/core/java/android/content/pm/parsing/ParsingPackageUtils.javaframeworks/base/core/java/android/content/pm/parsing/component/ParsedActivityUtils.java
3.无源码apk设置默认启动Launcher的相关属性的核心功能实现和分析
在12.0的产品中,在PMS解析的相关功能源码都重构在ParsingPackageUtils.java这里面了,所以在ParsingPackageUtils.java负责解析关于
AndroidManifest.xml中的各种组件,所以就需要在解析的时候,设置对应的Home属性让app变成启动Launcher接下来看ParsingPackageUtils.java的相关代码
3.1ParsingPackageUtils.java的相关解析代码分析
public class ParsingPackageUtils {public ParsingPackageUtils(boolean onlyCoreApps, String[] separateProcesses,DisplayMetrics displayMetri