android之PackageManager简单介绍

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文件。

时间: 2024-12-29 11:14:25

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

Android Service使用简单介绍

作为一个android初学者,经常对service的使用感到困惑.今天结合Google API 对Service这四大组件之一,进行简单使用说明. 希望对和我一样的初学者有帮助,如有不对的地方,也希望及时指出. Service :就是长时间运行在后台,没有用户界面的一个应用组件.即便,用户切换到其他的应用,Service依然可以在后台运行. 除此之外,一个组件可以将自己和Service进行绑定,甚至是进程间通信.例如,Service可以处理网络请求,播放音乐, 处理I/O操作,和Content

android MVP模式简单介绍

原文 http://zhengxiaopeng.com/2015/02/06/Android%E4%B8%AD%E7%9A%84MVP/ 前言 MVP作为一种MVC的演化版本在Android开发中受到了越来越多的关注,但在项目开发中选择一种这样的软件设计模式需保持慎重心态,一旦确定 使用MVP作为你App的开发模式那么你就最好坚持做下去,如果在使用MVP模式开发过程中发现问题而且坑越来越大,这时你想用MVC等来重新设计的话基 本上就等于推倒重来了.要知道在Android上MVP在现在为止并没有统

Android开发布局简单介绍

Android开发布局介绍 1.线性布局 LinearLayout 布局中的组件会一个挨着一个排列起来,android:orientation属性可以控制排列方向,horizontal-水平.vertical-垂直 线性布局不会自动换行,当超出屏幕范围时,剩下的组件不会显示出来. 2.表格布局 TableLayout 继承自LinearLayout,其本质依然是LinearLayout.通过TableRow来管理表格的行数和列数.添加一个TableRow就是一行. 3.帧布局 FrameLayo

android application类简单介绍(一)

每次应用程序执行时.应用程序的application类保持实例化的状态. 通过扩展applicaiton类,能够完毕下面3项工作: 1.对android执行时广播的应用程序级事件如低低内做出响应. 2.在应用程序组件之间传递对象(全局变量). 3.管理和维护多个应用程序组件使用的资源. 当中,后两项工作通过使用单例类来完毕会更好.application会在创建应用程序进程的时候实例化. 以下是扩展Application的演示样例代码: import android.app.Application

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

老的项目用的MVC的模式,最近完成了全部重构成MVP模式的工作,虽然比较麻烦,好处是代码逻辑更加清楚.简洁,流程更加清晰,对于后续版本迭代维护都挺方便.对于一些想要学习MVP模式的同学来讲,百度搜出来的好多都没法直接转化为项目里可以直接用的东西,所以这里正好拿出自己项目里已经用了的,你们可以直接用到自己的项目里.当然,不可能把所有项目代码在这里放出来,所以就拿登陆的流程出来,这个比较合适也比较常用. 1.先看下包结构: model:放一些bean类,以及网络处理类RetrofitManager,

Android——DDMS简单介绍

DDMS 的全称是Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik虚拟机调试监控服务. 它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息.Logcat.广播状态信息.模拟电话呼叫.接收SMS.虚拟地理坐标等等. 一,切换DDMS视图 在左侧的Devices中,可以看到正在运行的虚拟设备. 二,DDMS各个菜单简单介绍 Debug Process 断点调试程序: 个人总结断点调试程序有2种情况.1.eclipse中的

Android NDK 简单介绍、工具安装、环境配置

NDK全称:Native Development Kit. 1.NDK是一系列工具的集合. * NDK提供了一系列的工具,帮助开发人员高速开发C(或C++)的动态库,并能自己主动将so和java应用一起打包成apk.这些工具对开发人员的帮助是巨大的. * NDK集成了交叉编译器,并提供了对应的mk文件隔离平台.CPU.API等差异,开发者仅仅须要简单改动mk文件(指出"哪些文件须要编译"."编译特性要求"等),就能够创建出so. * NDK能够自己主动地将so和Ja

Android反编译工具介绍与简单实用方法

Android反编译工具介绍与简单实用方法 Android反编译的目的无非就是为了看到APK的xml.资源和代码: 得到代码的方式:直接解压APK文件 --> 得到classes.dex文件 --> 使用 dex2jar classes.dex classes.jar生成jar文件 --> [可选的解压jar文件] -->使用XJad或者JDCompiler查看源代码 得到XML的方式: 方式1:直接解压APK文件 --> 通过axmlprinter工具查看XML文件(这种方

Android开发自学笔记(Android Studio)&mdash;4.界面编程与View组件简单介绍

一.引言 Android应用开发最重要的一份内容就是界面的开发,无论你程序包含的内容多么优秀,如若没有一个良好的用户交互界面,最终也只是会被用户所遗弃.Android SDK提供了大量功能丰富的UI组件,开发者只需要拖拖拽拽就能完成简单的应用,这些只是界面的展示,如果要完成优秀的用户交互,事件响应机制当然也是重点,这是后话. Android SDK中绝大部分UI组件都在androd.widget及其子包.android.view及其子包下,Android应用中的所有UI组件都继承了View类,V