Chinaunix首页 | 论坛 | 博客
  • 博客访问: 219838
  • 博文数量: 67
  • 博客积分: 3156
  • 博客等级: 中校
  • 技术积分: 650
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-18 17:41
个人简介

软件工程师!

文章分类

全部博文(67)

文章存档

2015年(1)

2014年(1)

2012年(6)

2011年(16)

2010年(31)

2009年(12)

分类: Java

2011-12-28 15:47:44

  1. class PInfo {
  2.     private String appname = "";
  3.     private String pname = "";
  4.     private String versionName = "";
  5.     private int versionCode = 0;
  6.     private Drawable icon;
  7.     private void prettyPrint() {
  8.         Log.v(appname + "\t" + pname + "\t" + versionName + "\t" + versionCode);
  9.     }
  10. }

  11. private ArrayList<PInfo> getPackages() {
  12.     ArrayList&lt;PInfo&gt; apps = getInstalledApps(false); /* false = no system packages */
  13.     final int max = apps.size();
  14.     for (int i=0; i&lt;max; i++) {
  15.         apps.get(i).prettyPrint();
  16.     }
  17.     return apps;
  18. }

  19. private ArrayList&lt;PInfo&gt; getInstalledApps(boolean getSysPackages) {
  20.     ArrayList&lt;PInfo&gt; res = new ArrayList&lt;PInfo&gt;();
  21.     List&lt;PackageInfo&gt; packs = getPackageManager().getInstalledPackages(0);
  22.     for(int i=0;i&lt;packs.size();i++) {
  23.         PackageInfo p = packs.get(i);
  24.         if ((!getSysPackages) &amp;&amp; (p.versionName == null)) {
  25.             continue ;
  26.         }
  27.         PInfo newInfo = new PInfo();
  28.         newInfo.appname = p.applicationInfo.loadLabel(getPackageManager()).toString();
  29.         newInfo.pname = p.packageName;
  30.         newInfo.versionName = p.versionName;
  31.         newInfo.versionCode = p.versionCode;
  32.         newInfo.icon = p.applicationInfo.loadIcon(getPackageManager());
  33.         res.add(newInfo);
  34.     }
  35.     return res;
  36. }
阅读(1677) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~