PackageManager相关

本类API是对全部基于载入信息的数据结构的封装,包含下面功能:

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

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

查询已安装应用

添加,删除permission

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

/**
* PackageManager介绍:
* 本类API是对全部基于载入信息的数据结构的封装,包含下面功能:
* 安装,卸载应用 查询permission相关信息 查询Application相关
* 信息(application,activity,receiver,service,provider及对应属性等)
* 查询已安装应用 添加,删除permission 清除用户数据、缓存,代码段等 非查询相关的API须要特定的权限。
* 主要包括了,安装在当前设备上的应用包的相关信息
* 例如以下:获取已经安装的应用程序的信息
*/
private HashMap<String, String> installPackagesInfo(){
// 获取packageManager对象
PackageManager packageManager = this.getPackageManager();
/*getInstalledApplications 返回当前设备上安装的应用包集合
* ApplicationInfo相应着androidManifest.xml中的application标签。通过它能够获取该application相应的信息
*/
List<ApplicationInfo> applicationInfos = packageManager.getInstalledApplications(0);
HashMap<String, String> resultMap = new HashMap<String, String>();
Iterator<ApplicationInfo> iterator = applicationInfos.iterator();
while(iterator.hasNext()){
ApplicationInfo applicationInfo = iterator.next();
String packageName = applicationInfo.packageName;// 包名
String packageLabel = packageManager.getApplicationLabel(applicationInfo).toString();//获取label
resultMap.put(packageLabel, packageName);
}

return resultMap;

}

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

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

android之PackageManager简单介绍的更多相关文章

  1. javascript开发 ios和android app的简单介绍

    先看几个名词解释: nodejs ionic,Cordova,phoneGap,anjularjs react-native,reactjs nodeJs 的介绍参见这里,写的很好http://www ...

  2. Android Service使用简单介绍

    作为一个android初学者,经常对service的使用感到困惑.今天结合Google API 对Service这四大组件之一,进行简单使用说明. 希望对和我一样的初学者有帮助,如有不对的地方,也希望 ...

  3. android MVP模式简单介绍

    原文 http://zhengxiaopeng.com/2015/02/06/Android%E4%B8%AD%E7%9A%84MVP/ 前言 MVP作为一种MVC的演化版本在Android开发中受到 ...

  4. android handler机制简单介绍

    我们需要了解4个类: handler:处理者,用于发送和接收信息 massage:消息.里面可以存储消息的许多信息 looper:循环泵,用于循环取出消息队列中的消息 MessageQueue(一般不 ...

  5. Android ExpandableListActivity的简单介绍及小例子

    Android中常常要用到ListView,但也经常要用到ExpandableListView,ListView是显示列表,而ExpandableListView显示的是分类的列表: 下面用一个例子来 ...

  6. android application类简单介绍(一)

    每次应用程序执行时.应用程序的application类保持实例化的状态. 通过扩展applicaiton类,能够完毕下面3项工作: 1.对android执行时广播的应用程序级事件如低低内做出响应. 2 ...

  7. Android 使用 Application 简单介绍

    Application 配置全局Context 第一步.写一个全局的单例模式的MyApplication继承自Application 覆盖onCreate ,在这个方法里面实例化Application ...

  8. Android MediaScanner使用简单介绍

    1. 运行扫描 仅仅有系统开机的时候才会运行MediaScanner,其他情景下须要手动运行扫描(拍摄,下载等). 手动运行扫描的方法是发送MediaScanner广播: 1.1 扫描指定文件: In ...

  9. Android MVP模式简单介绍:以一个登陆流程为例

    老的项目用的MVC的模式,最近完成了全部重构成MVP模式的工作,虽然比较麻烦,好处是代码逻辑更加清楚.简洁,流程更加清晰,对于后续版本迭代维护都挺方便.对于一些想要学习MVP模式的同学来讲,百度搜出来 ...

随机推荐

  1. js屏蔽浏览器(IE和FireFox)的刷新和右键等功能

    //一.js屏蔽浏览器(IE和FireFox)的刷新功能 document.onkeydown=function() { if ((window.event.keyCode==116)|| //屏蔽 ...

  2. 向mysql添加新用户并分配权限

    首先要声明一点,大部分情况下,修改MySQL是需要有mysql里的root权限的,所以一般用户无法更改密码,除非请求管理员. 方法一使用phpmyadmin,这是最简单的了,修改mysql库的user ...

  3. codeforces 645E . Intellectual Inquiry

    题目链接 如果不考虑重复的元素, 那么我们可以很容易的发现, 长度为n的字符串它的子串数量是 $ 2^n $ . 我们设每个到位置i, 答案的数量为f[i]. 然后我们考虑重复的, 我们发现, 每加入 ...

  4. Open source and free log analysis and log management tools.

    Open source and free log analysis and log management tools. Maintained by Dr. Anton Chuvakin Version ...

  5. 剑指offer 22 栈的压入、弹出序列

    class Solution { public: bool IsPopOrder(vector<int> pushV,vector<int> popV) { bool resu ...

  6. CSS-DOM介绍

    三位一体的网页: 我们在浏览器里看到的网页其实是由以下三层信息构成的一个共同体: 1.结构层: 结构层是由HTML和XHTML之类的标记语言所构成的.所就是哪些出现在html标签里面的单词,对网页内容 ...

  7. ASPxComboBox-通过回车过滤结果集

    Dev ASP.NET组件中的ASPxComboBox可以方便的根据输入内容进行过滤,不过对于数据量较大或者用户数较多的情况下,这个功能会给服务器带来严重的负担,因此我们应该输入自己想要查询的字符串时 ...

  8. ios本地文件内容读取,.json .plist 文件读写

    ios本地文件内容读取,.json .plist 文件读写 本地文件.json .plist文件是较为常用的存储本地数据的文件,对这些文件的操作也是一种常用的基础. 本文同时提供初始化变量的比较标准的 ...

  9. The file “XXX” couldn’t be opened because you don’t have permission to view it.解决方法:

    The file “XXX” couldn’t be opened because you don’t have permission to view it.解决方法:   解决方法:直接点击Xcod ...

  10. 在MAC下使用github

    一 安装git    这个咱们就不说了,一般安装xcode都会自带git 如果不知道有没有下载git, 在终端运行 $which git  会打印出git的安装路径 /usr/local/bin/gi ...