5.8 获取应用程序信息

//ActivityManager 进程管理器
//PackageManager 程序管理器

public   class   AppManager {
      
       /**
       * 获取包信息的方法
       *   @return
       */
       public   List<AppInfoBean>    getAppInfo(Context context){
      
            List <AppInfoBean>  AppInfoList=   new   ArrayList<AppInfoBean>();
               //创建包管理器
            PackageManager pm = context.getPackageManager();
            List<PackageInfo> packages = pm.getInstalledPackages(0);     //得到系统中的应用
            
               for   (PackageInfo packageInfo : packages) {
                  AppInfoBean  appInfoBean=   new   AppInfoBean();
                  
                  String packageName = packageInfo.   packageName ;     //得到包名
                  appInfoBean.setPackName(packageName);
                  
                  String appName=packageInfo. applicationInfo   .loadLabel(pm).toString();    //得到app名称
                  appInfoBean.setAppName(appName);
                  
                  Drawable icon = packageInfo. applicationInfo .loadIcon(pm);    //得到 app图标
                  appInfoBean.setIcon(icon);
                  
                 
                  int   flags = packageInfo. applicationInfo   . flags   ;     //标识
                     if ((ApplicationInfo.   FLAG_SYSTEM   & flags)==0){     //应用类型是否是用户应用
                        appInfoBean.setUserApp(   true );
                  
                  }   else {
                        appInfoBean.setUserApp(   false );
                  }
                  
                  
                     if ((ApplicationInfo.   FLAG_EXTERNAL_STORAGE   & flags)==0){     //存储位置是否在内存中
                        appInfoBean.setRoomApp(   true );
                        
                  }   else {
                        appInfoBean.setRoomApp(   false );
                  }
                  
                  
                  AppInfoList.add(appInfoBean);  
                  
                  
            }
            
            
            
            
               return   AppInfoList;
            
            
      }
      

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值