android之PackageManager简介

PackageManager相关

      本类API是对所有基于加载信息的数据结构的封装,包括以下功能:

安装,卸载应用查询permission相关信息

查询Application相关信息(application,activity,receiver,service,provider及相应属性等)

查询已安装应用

增加,删除permission

清除用户数据、缓存,代码段等

 

 1 /**
 2      * PackageManager介绍:
 3      * 本类API是对所有基于加载信息的数据结构的封装,包括以下功能: 
 4      * 安装,卸载应用 查询permission相关信息 查询Application相关
 5      * 信息(application,activity,receiver,service,provider及相应属性等)
 6      * 查询已安装应用 增加,删除permission 清除用户数据、缓存,代码段等 非查询相关的API需要特定的权限。
 7      * 主要包含了,安装在当前设备上的应用包的相关信息
 8      * 如下:获取已经安装的应用程序的信息
 9      */
10     private HashMap<String, String> installPackagesInfo(){
11         // 获取packageManager对象
12         PackageManager packageManager = this.getPackageManager();
13         /*getInstalledApplications 返回当前设备上安装的应用包集合
14          * ApplicationInfo对应着androidManifest.xml中的application标签。通过它可以获取该application对应的信息
15          */
16         List<ApplicationInfo> applicationInfos = packageManager.getInstalledApplications(0);
17         HashMap<String, String> resultMap = new HashMap<String, String>();
18         Iterator<ApplicationInfo> iterator = applicationInfos.iterator();
19         while(iterator.hasNext()){
20             ApplicationInfo applicationInfo = iterator.next();
21             String packageName = applicationInfo.packageName;// 包名
22             String packageLabel = packageManager.getApplicationLabel(applicationInfo).toString();//获取label
23             resultMap.put(packageLabel, packageName);
24         }
25         
26         return resultMap;
27         
28     }

 

另外在PackageManager类中,我们发现了几个很好玩的方法。

 

  

 

XMLResourceParse getXml(String packageName,int resid,ApplicationInfo appInfo)可以从指定的包中加载某个xml文件。

 

posted @ 2014-02-10 15:05  HuijunZhang  阅读(1169)  评论(0编辑  收藏  举报
中国