获取系统内Applications的基本信息

在这个例子中将展示如何获取Application的几个基本属性信息:名字、Package标签、版本信息和图标信息。
创建一个用于存储基本信息的Class:

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");  

     }  

 } 

 

接下来是获取信息的主体:

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信息:

private void listPackages() {  

    ArrayList < PInfo > apps = getInstalledApps(false); /* false = no system packages */ 

    final int max = apps.size();  

    for (int i=0; i < max; i++) {  

        apps.get(i).prettyPrint();  

    }  

 } 

 

还有一个相对比较简单的应用,借由PackageManager来获取Application信息:

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  

 } 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值