查询系统中的应用信息

PackageInfo

包含 AndroidManifest.xml 所有信息的实体映射类,可获得所有该文件中定义的App信息。

PackageManager pm = contextWrapper.getPackageManager();

PackageInfo info = pm.getPackageInfo(packageName, flags);

List<PackageInfo> infoList = pm.getInstalledPackages(flags);

List<PackageInfo> infoList = pm.getPackagesHoldingPermissions(permissions, flags);

List<PackageInfo> infoList = pm.getPreferredPackages(flags);

ApplicationInfo

AndroidManifest.xml 中 <application> 部分的实体映射类。
该类不包含 Activity、Receiver、Service 的信息。
一部分用于判断 App 类型(系统应用、特权应用等)的算法隐藏(@hide)在该类代码中。

ApplicationInfo info = pm.getApplicationInfo(packageNmae, flags);

List<ApplicationInfo> infoList = pm.getInstalledApplications(flags);

ActivityInfo

AndroidManifest.xml 中 <activity> 与 <receiver> 部分的实体映射类。

ActivityInfo info = pm.getActivityInfo(componentName, flags);

ActivityInfo info = pm.getReceiverInfo(componentName, flags);

ServiceInfo

AndroidManifest.xml 中 <service> 部分的实体映射类。

ServiceInfo info = pm.getServiceInfo(componentName, flags);

ProviderInfo

AndroidManifest.xml 中 <provider> 部分的实体映射类。

ProviderInfo info = pm.getProviderInfo(componentName, flags);

ProviderInfo info = pm.resolveContentProvider(name, flags);

List<ProviderInfo> infoList = pm.queryContentProviders(processName, uid, flags);

ResolveInfo

AndroidManifest.xml 中 <intent-filter> 对应的宿主对象容器类。
用于通过给定 intent 反查系统中适配的项目信息,包含 ActivityInfo、ServiceInfo、ProviderInfo 等内容。

ResolveInfo info = pm.resolveActivity(intent, flags);

ResolveInfo info = pm.resolveService(intent, flags);

List<ResolveInfo> infoList = pm.queryIntentActivities(intent, flags);

List<ResolveInfo> infoList = pm.queryIntentContentProviders(intent, flags);

List<ResolveInfo> infoList = pm.queryIntentServices(intent, flags);

List<ResolveInfo> infoList = pm.queryBroadcastReceivers(intent, flags);

List<ResolveInfo> infoList = pm.queryIntentActivityOptions(componentName, intents, intent, flags);

其他

其他 Info 系列的实体类还有 PermissionInfoPermissionGroupInfoInstrumentationInfo

参考:PackageItemInfo

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,822评论 18 399
  • APK安装流程系列文章整体内容如下: APK安装流程详解0——前言APK安装流程详解1——有关"安装ing"的实体...
    隔壁老李头阅读 8,979评论 3 27
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,319评论 25 708
  • 在自己单位被神话的通过大数据做的信贷评分卡,原来根本不是大数据,只是一个数据统计东西的模型罢了,离大数据的核心还差...
    谢1212阅读 138评论 0 0
  • 我害怕自己三年后,大学毕业,考研无果,面临着找工作的压力。对于一个本科学历非985 211的大学生来说,没有赢得过...
    是阿娟啊阅读 279评论 0 1

友情链接更多精彩内容