获取系统内Applications的基本信息
来源:互联网 发布:hp1020网络打印机驱动 编辑:程序博客网 时间:2024/04/29 08:54
在这个例子中将展示如何获取Application的几个基本属性信息:名字、Package标签、版本信息和图标信息。
创建一个用于存储基本信息的Class:
Java代码
- class PInfo {
- private String appname = "";
- private String pname = "";
- private String versionName = "";
- private int versionCode = 0;
- private Drawable icon;
- private void prettyPrint() {
- log(appname + "t" + pname + "t" + versionName + "t" + versionCode + "t");
- }
- }
接下来是获取信息的主体:
Java代码
- private ArrayList < PInfo > getInstalledApps(boolean getSysPackages) {
- ArrayList < PInfo > res = new ArrayList < PInfo > ();
- List < PackageInfo > packs = getPackageManager().getInstalledPackages(0);
- for(int i=0;i < packs.size();i++) {
- PackageInfo p = packs.get(i);
- if ((!getSysPackages) && (p.versionName == null)) {
- continue ;
- }
- PInfo newInfo = new PInfo();
- newInfo.appname = p.applicationInfo.loadLabel(getPackageManager()).toString();
- newInfo.pname = p.packageName;
- newInfo.versionName = p.versionName;
- newInfo.versionCode = p.versionCode;
- newInfo.icon = p.applicationInfo.loadIcon(getPackageManager());
- res.add(newInfo);
- }
- return res;
- }
用这个方法来获取系统内所包含的Applications信息:
Java代码
- private void listPackages() {
- ArrayList < PInfo > apps = getInstalledApps(false);
- final int max = apps.size();
- for (int i=0; i < max; i++) {
- apps.get(i).prettyPrint();
- }
- }
还有一个相对比较简单的应用,借由PackageManager来获取Application信息:
Java代码
- PackageManager manager = this.getPackageManager();
- try {
- PackageInfo info = manager.getPackageInfo(this.getPackageName(), 0);
- String packageName = info.packageName;
- int versionCode = info.versionCode;
- String versionName = info.versionName;
- } catch (NameNotFoundException e) {
- // TODO Auto-generated catch block
- }
- http://blog.sina.com.cn/s/blog_6d8189930100nyds.html
- final Context context = mContext;
- final PackageManager pm = context.getPackageManager();
abstractPackageManagergetPackageManager()
ReturnPackageManager instance to find global package information.
获取系统内Applications的基本信息可以使用以下这个方法。
getPackageManager().getInstalledPackages(0) - abstract PackageInfo getPackageInfo(String packageName, int flags)Retrieve overall information about an application package that is installed on the system.
- http://firefox7.javaeye.com/blog/865027
- 获取系统内Applications的基本信息
- 获取系统内Applications的基本信息
- 获取系统的一些基本信息
- java获取系统的基本信息
- 获取Linux(redhat)系统的一些基本信息
- 获取Solaris系统基本信息
- Android获取系统基本信息
- 获取系统中安装的应用程序的基本信息
- 获取系统中安装的应用程序的基本信息
- [C#学习笔记]获取当前系统的基本信息
- 静态内部类的基本信息
- Android获取手机的基本信息
- Java 获取文件的基本信息
- PYWIN32 + WMI模块:获取WINDOWS系统基本信息
- 获取App应用系统基本信息 → AppSysMgr
- mobile硬件的基本信息的获取
- 获取数据库表的一些基本信息
- c#获取指定文件的基本信息
- 20个VC开发小技巧
- handler
- HTTP 通信, XML 解析, 通过 Hander 实现异步消息处理
- 各种排序算法的实现
- c# 的 Form 是如何封装 WndProc 方法的
- 获取系统内Applications的基本信息
- Linux跨平台移植经验总结(前言)
- 深入研究线程池
- 计算机类期刊投稿心得
- java开发环境搭建---如何给eclipse添加中文包(三)
- C语言中的字符串操作
- poj 1023 --The Fun Number System(分析题)
- 学习Android的一些网站收集
- 编程技巧之:解决窗口控件上Caption乱码问题