Android 9.0 pms中关于启动app时获取app的ActivityInfo信息相关源码分析

本文深入分析了Android 9.0系统中PMS(PackageManagerService)如何在启动app时获取ActivityInfo信息。通过PMS的内部类PackageManagerInternalImpl和接口实现,探讨了resolveIntentInternal()方法在查询app详细信息过程中的作用,以及在chooseBestActivity()和queryIntentActivitiesInternal()中如何选择最合适的app。最后,详细解释了getActivityInfoInternal()方法如何获取ActivityInfo对象,从而得到app启动的相关详细信息。
摘要由CSDN通过智能技术生成

1.前言


 在android9.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信息相关源码分析的核心功能分析和实现

pms中关于启动app时获取app的ActivityInfo信息相关源码分析中,
在系统中,pms也是非常重要的一些系统服务,PMS(PackageManagerService)是 Android 提供的包管理系统服务,它用来管理所有的包信息,
包括应用安装、卸载、更新以及解析 AndroidManifest.xml。通常情况下我们不会把 PMS 单独的拆分出来讲解,
因为 PMS 最主要的是提供给 AMS(ActivityManagerService)服务。
PMS 对 apk 的解析最主要的就是去扫描到 /data/app 和 /system/app 目录下的 apk 文件,找到 apk 包中的 AndroidManifest.xml,
然后解析 AndroidManifest.xml 的信息保存到系统内存中,这样 AMS 在需要应用数据时,就能找到 PMS 快速的从内存中拿到相关信息。


                
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安卓兼职framework应用工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值