PackageManager 管理应用程序信息
来源:互联网 发布:中国东盟贸易数据 编辑:程序博客网 时间:2024/05/21 13:27
PackageManager 管理应用程序信息
AnroidManifest.xml文件节点说明:
AndroidManifest.xml文件中所有节点的基类,PackageInfo 对象可以获得配置文件中AnroidManifest的所有信息,
由上图可以看出,activity,service,receiver等组件都是application的子节点,而application的父节点是PackgeInfo,同时权限配置信息也是PackageInfo的子节点,所以只要得到PackageInfo的对象,就能得到一个应用的具体信息。
初始化包管理器 PackageManager
// **获得包管理器,在android下PackageManager相当windows下的程序管理器PackageManager pm = getPackageManager();
实例化PackageInfo对象,可以获得包信息,应用版本号,应用首次安装时间,应用涉及权限等信息
// 初始化PackageInfoPackageInfo packageInfo = pm.getPackageInfo(getPackageName(),PackageManager.GET_UNINSTALLED_PACKAGES);
// 获得应用程序版本号int versionCode = packageInfo.versionCode;String versionName = packageInfo.versionName;// 获得应用程序首次安装时间,但经过亲自测试,该值存在误差,不够精确long installTime = packageInfo.firstInstallTime;// 获得该应用涉及的权限信息PermissionInfo[] permissions = packageInfo.permissions;for (PermissionInfo permissionInfo : permissions) {Log.i("permissionInfo", permissionInfo.name);}PackageInfo 对象可以获得配置文件中AnroidManifest的所有信息,如下图,具体代码在此就不一一列举出来了
实例化ApplicationInfo对象,这个对象里面有获取应用程序图标,名称,包等方法.
// **获得包管理器,在android下PackageManager相当windows下的程序管理器PackageManager pm = getPackageManager();// 声明ApplicationInfo对象ApplicationInfo appInfo = null;try {// 实例化:PackageManager通过包名获得ApplicationInfo实例appInfo = pm.getApplicationInfo(getPackageName(),PackageManager.GET_UNINSTALLED_PACKAGES);} catch (NameNotFoundException e) {e.printStackTrace();}
// 获得PackageInfo对象的属性applicationInfo 获得子节点 application对象ApplicationInfo info = packageInfo.applicationInfo;Drawable app_ico = info.loadIcon(pm);// 获得应用程序的名称(如:360手机卫士)String app_name = info.loadLabel(pm).toString();// 得到应用程序包名 (如:com.safe.guard)String packageName = info.packageName;// PackageInfo的子节点Activity:得到所有Activity的信息ActivityInfo[] activities = packageInfo.activities;
判断一个应用是否是系统应用
public boolean filterApp(ApplicationInfo info) {// android系统应用,用户手动升级if ((info.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) {return true;// 用户自己安装的应用程序} else if ((info.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {return true;}return false;}
参考文章: http://www.linuxidc.com/Linux/2012-02/53072.htm
0 0
- PackageManager 管理应用程序信息
- PackageManager--获取应用程序信息,权限管理获取应用
- Android中获取应用程序(包)的信息-----PackageManager的使用
- Android中获取应用程序(包)的信息-----PackageManager的使用
- Android中获取应用程序(包)的信息-----PackageManager的使用
- Android中获取应用程序(包)的信息-----PackageManager的使用
- Android中获取应用程序(包)的信息-----PackageManager的使用
- Android中获取应用程序(包)的信息-----PackageManager的使用
- Android中获取应用程序(包)的信息-----PackageManager的使用
- Android中获取应用程序(包)的信息--PackageManager的使用
- 【Android】获取应用程序(包)的信息-----PackageManager的使用(一)
- Android中获取应用程序(包)的信息-----PackageManager的使用
- Android获取应用程序信息——PackageManager的基本使用
- Android获取应用程序信息——PackageManager的基本使用
- Android中获取应用程序(包)的信息-----PackageManager的使用
- packageManager 获取package信息
- 应用信息PackageManager
- PackageManager安装包管理
- 美国研发1.5毫米相机:可自由进出血管拍摄
- HDU 2255 奔小康赚大钱 KM模板
- PIC16单片机设置不同IO口状态对功耗的影响
- HTTP协议之multipart/form-data请求分析
- 从CVPR2013看计算机视觉研究的三个趋势(转)
- PackageManager 管理应用程序信息
- 关于mongodb创建索引的一些经验总结
- 全排列算法
- Notes for LVS
- 【HDU】3639 Hawk-and-Chicken 强连通缩点+DFS
- 达尔文《物种起源》
- 内存堆和栈的区别
- ViewGroup.layout(int l, int t, int r, int b)四个输入参数的含意
- C++编程对缓冲区的理解