PackageManger的主要职责是管理应用包,通过应用包可以获取应用信息。本文主要介绍Android中使用PackageManager的相关信息,有需要的朋友可以参考一下。
目录
简介:AndroidManifest.xml文件节点描述:相关类简介PackageManger类PackageInfo类PackageItemInfo类ApplicationInfo类继承自PackageItemInfoActivityInfo类继承自PackageItemInfoServiceInfo类摘要
前言
Android系统为我们提供了很多服务管理类,包括ActivityManager、PowerManager和AudioManager。PackageManager管理应用程序包,通过它可以获取应用程序信息。
编写一个Demo,主要实现系统中所有应用信息的获取,建立启动相应应用的意图。
AndroidPackageDemo.7z
引入:AndroidManifest.xml文件节点说明:
相关类的介绍
PackageManger 类
描述:获取已安装的应用程序信息。可以通过getPackageManager()方法获得。常用方法:公共抽象包管理器getpackagemanager()
函数:获取一个PackageManger对象,public abstract drawable getapplicationicon(字符串包名)
参数:包名包名
函数:返回给定包名的图标,否则返回null。
公共抽象application info getApplicationInfo(字符串packageName,int flags)
参数:包名包名
FlagsThe ApplicationInfo是flags标志,通常可以直接给它一个常量0。
函数:返回ApplicationInfo对象。
公共抽象ListApplicationInfo getInstalledApplications(int标志)
参数:flag一般是GET_UNINSTALLED_PACKAGES,那么此时会返回所有ApplicationInfo。我们可以申请ApplicationInfo
标志过滤器得到我们需要的东西。
函数:返回给定条件下的所有PackageInfo
公共抽象ListPackageInfo getInstalledPackages(int标志)
参数如上
函数:返回给定条件下的所有PackageInfo
public abstractResolveInfo resolve activity(Intent Intent,int标志)
参数:活动配置的意图搜索条件、动作、类别。
flags:match _ DEFAULT _ only:Category必须有CATEGORY_DEFAULT的活动才能匹配。
GET_INTENT_FILTERS:匹配意图条件即可。
GET_RESOLVED_FILTER:匹配意图条件即可。
函数:返回给定条件的ResolveInfo对象(本质上是Activity)。
公共抽象ListResolveInfo query Intent activities(Intent Intent,int标志)
参数同上
函数:返回给定条件的所有ResolveInfo对象(本质上是Activity),并收集对象。
公共抽象resolve info resolve service(Intent Intent,int标志)
参数同上
函数:返回给定条件的ResolveInfo对象(本质上是服务)。
公共抽象ListResolveInfo query entservices(Intent Intent,int标志)
参数同上
函数:返回给定条件的所有ResolveInfo对象(本质上是服务),并收集对象。
PackageInfo类
说明:手动获取AndroidManifest.xml文件的信息。
公共字段:
公共包名称包名称
Public ActivityInfo[] activities所有活动节点信息
公共信息应用信息应用节点信息,只有一个
Public ActivityInfo[] receivers所有接收者节点信息,多个
Public ServiceInfo[]服务所有服务节点信息,多个
PackageItemInfo类
描述:AndroidManifest.xml文件中所有节点的基类,提供了这些节点的基本信息:标签、图标、元数据。并没有。
直接使用,但是由子类继承,然后调用相应的方法。
ApplicationInfo类 继承自 PackageItemInfo
描述:获取特定引用程序中应用节点的信息。
字段描述:flags字段:FLAG_SYSTEM系统应用,FLAG_EXTERNAL_STORAGE表示应用安装在sdcard中。
常用方法继承自PackageItemInfo类中的loadIcon()和loadLabel()。
ActivityInfo类 继承自 PackageItemInfo
描述:获取应用程序中活动/或接收者/节点的信息。我们可以用它来获取我们设置的任何属性,包括
主题、launchMode、launchmode等。
常用方法继承自PackageItemInfo类中的loadIcon()和loadLabel()。
ServiceInfo 类
注意:与ActivityInfo类似,它也继承自PackageItemInfo,只是它表示服务节点信息。
ResolveInfo类
注:根据意图节点,获取其上级目录的信息,通常是活动、接收者、服务节点的信息。
参考:http://www.linuxidc.com/Linux/2012-02/53072.htm
总结
关于Android中PackageManager使用的详细说明,本文到此为止。关于Android中使用包管理器的更多信息,请搜索我们之前的文章或继续浏览下面的相关文章。希望你以后能支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。