PackageItemInfo类
说明: AndroidManifest.xml文件中所有节点的基类,提供了这些节点的基本信息:
label、icon、meta-data。它并不直接使用,而是由子类继承然后调用相应方法。
常用字段:
public int icon 获得该资源图片在R文件中的值 (对应于android:icon属性)
public int labelRes 获得该label在R文件中的值(对应于android:label属性)
public String name 获得该节点的name值 (对应于android:name属性)
public String packagename 获得该应用程序的包名 (对应于android:packagename属性)
常用方法:
Drawable loadIcon(PackageManager pm) 获得当前应用程序的图像
CharSequence loadLabel(PackageManager pm) 获得当前应用程序的label
ActivityInfo类----继承自 PackageItemInfo
说明: 获得应用程序中或者 节点的信息 。我们可以通过它来获取 我们设置的任何属性,包括theme 、launchMode、launchmode等.
常用方法继承至PackageItemInfo类中的loadIcon()和loadLabel()
ServiceInfo 类
说明: 同ActivityInfo类似 ,同样继承自 PackageItemInfo,只不过它表示的是 节点信息。
ApplicationInfo类 继承自 PackageItemInfo
说明:获取一个特定引用程序中节点的信息。
字段说明:
flags字段: FLAG_SYSTEM 系统应用程序
FLAG_EXTERNAL_STORAGE 表示该应用安装在sdcard中
常用方法继承至PackageItemInfo类中的loadIcon()和loadLabel()
ResolveInfo类
说明:根据节点来获取其上一层目录的信息,通常是、、 节点信息。
常用字段:
public ActivityInfo activityInfo
获取 ActivityInfo对象,即或节点信息
public ServiceInfo serviceInfo
获取 ServiceInfo对象,即节点信息
常用方法:
Drawable loadIcon(PackageManager pm) 获得当前应用程序的图像
CharSequence loadLabel(PackageManager pm) 获得当前应用程序的label
PackageInfo类
说明:手动获取AndroidManifest.xml文件的信息 。
常用字段:
public String packageName 包名
public ActivityInfo[ ] activities 所有节点信息
public ApplicationInfo applicationInfo 节点信息,只有一个
public ActivityInfo[ ] receivers 所有节点信息,多个
public ServiceInfo[ ] services 所有节点信息 ,多个
PackageManger 类
说明: 获得已安装的应用程序信息 。可以通过getPackageManager( )方法获得。
常用方法:
public abstract PackageManager getPackageManager( )
功能:获得一个PackageManger对象
public abstract Drawable getApplicationIcon(StringpackageName)
参数: packageName 包名
功能:返回给定包名的图标,否则返回null
public abstract ApplicationInfo getApplicationInfo(String packageName, int flags)
参数:packagename 包名
flags 该ApplicationInfo是此flags标记,通常可以直接赋予常数0即可
功能:返回该ApplicationInfo对象
public abstract List getInstalledApplications(int flags)
参数:flag为一般为GET_UNINSTALLED_PACKAGES,那么此时会返回所有ApplicationInfo。我们可以对ApplicationInfo的flags过滤,得到我们需要的。
功能:返回给定条件的所有PackageInfo
public abstract List getInstalledPackages(int flags)
参数如上
功能:返回给定条件的所有PackageInfo
public abstractResolveInfo resolveActivity(Intent intent, int flags)
参数: intent 查寻条件,Activity所配置的action和category
flags: MATCH_DEFAULT_ONLY :
Category必须带有CATEGORY_DEFAULT的Activity,才匹配
GET_INTENT_FILTERS :
匹配Intent条件即可
GET_RESOLVED_FILTER :
匹配Intent条件即可
功能 :返回给定条件的ResolveInfo对象(本质上是Activity)
public abstract List queryIntentActivities(Intent intent, int flags)
参数同上
功能 :返回给定条件的所有ResolveInfo对象(本质上是Activity),集合对象
public abstract ResolveInfo resolveService(Intent intent, int flags)
参数同上
功能 :返回给定条件的ResolveInfo对象(本质上是Service)
public abstract List queryIntentServices(Intent intent, int flags)
参数同上
功能 :返回给定条件的所有ResolveInfo对象(本质上是Service),集合对象
- 大小: 56.7 KB
分享到:
相关推荐
Android中获取应用程序(包)的信息 PackageManager的使用
PackageManager实例,内容包含ApplicationInfo、PackageInfo、ResolveInfo、ActivityInfo的实例
Android中获取应用程序(包)的信息-PackageManager的使用方法
Android中获取系统应用程序列表(有代码注释)
Android PackageManager 有很多方法是没有暴漏出来的,我们如果想调用的话需要用Java反射。android_dependency.jar 提供了反射调用相关的class定义,直接放到你的工程libs目录下面,然后就可以进行反射调用...
PackageManager获取App基本信息实现Apk导出、分享、卸载
Android PackageManager 有很多方法是没有暴漏出来的,我们如果想调用的话需要用Java反射。android_dependency.jar 提供了反射调用相关的class定义,直接放到你的工程libs目录下面,然后就可以进行反射调用...
可根据包名打开应用程序(不算系统的)MainActivity里面的getLaunchIntentForPackage里面的("com.wandoujia.phoenix2")需要修改,这里我是用的是豌豆荚的包名,如果没装豌豆荚的请安装,或者包名参数改成你自己的...
Android_PackageManager学习的好资料。
可根据包名打开系统的应用程序【直接下载,解压后倒入eclipse里面即可使用,使用ListView展示,可看到应用名包名,点击可打开】
PackageManager是Android中一个很有用的类,能够获取已安装的应用(包)的信息,如应用名称、图标、权限,安装、删除应用(包)等
Laravel开发-packagemanager 提供以PSR-4格式生成控制器、请求、模型和视图的能力,以构建新模块。
主要介绍了Android实现整理PackageManager获取所有安装程序信息的方法,实例分析了Android使用PackageManager获取安装程序信息的具体步骤与相关技巧,需要的朋友可以参考下
Android中获取应用程序(包)的大小
react-native-android-packagemanager 使您可以访问Android的 API,例如读取APK文件中的元数据。入门$ npm install react-native-android-packagemanager --save 简易安装$ react-native link react-native-android-...
包管理器这是一个玩具包管理员,它是使用gradle进行依赖项管理的标准dropwizard应用程序。要求您需要Gradle 1.1或更高版本,否则会遇到。跑步使用。创建可分发存档要创建包含您应用程序的所有依赖项的可分发ZIP存档...
Delphinus是一个新的Packagemanager,它在Delphi XE和更高版本上运行,并使用Github作为后端来提供软件包。 特征 在Delphi XE和更高版本上运行 您可以发布软件包,而无需与他人联系 您会看到对已安装组件的更新...
http://www.cnblogs.com/androidsj/p/3985349.html