1.前言
在android12.0的系统rom定制化开发中,在对于app启动时,通过Launcher调用pms来查询app的相关ActivityInfo的相关信息,然后调用
ams来启动activity,这篇来分析pms中获取app的ActivityInfo的相关信息的相关源码分析
2.pms中关于启动app时获取app的ActivityInfo信息相关源码分析的核心类
frameworks\base\services\core\java\com\android\server\pm\PackageManagerService.java
3.pms中关于启动app时获取app的ActivityInfo信息相关源码分析的核心功能分析和实现
在系统中的AMS的activity的启动过程中,startActivity这个函数经过几个函数的转发,最终会调用startActivityForResult,我们看看这个函数。
execStartActivity 里面其实就是调用ActivityManagerService 的startActivity 方法,这个方法里面调用了
ActivityStarter对象的startActivityMayWait 方法,这个方法里面调用了ActivityStackSupervisor的resolveIntent 方法,
这个方法里面最后调用了PMS 的resolveIntent 方法,进行查询Activity的详细信息,然后启动Activity
private class PackageManagerInternalImpl extends PackageManagerInternal {
@Override
public ResolveInfo resolveInten