예제 #1
0
 /*获取已经安装了的应用*/
 private List<AppInfo> getInstalledPackages() {
   ArrayList<AppInfo> appList = new ArrayList<AppInfo>(); // 用来存储获取的应用信息数据
   List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);
   for (int i = 0; i < packages.size(); i++) {
     PackageInfo packageInfo = packages.get(i);
     AppInfo tmpInfo = new AppInfo();
     tmpInfo.appName = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();
     tmpInfo.packageName = packageInfo.packageName;
     tmpInfo.versionName = packageInfo.versionName;
     tmpInfo.versionCode = packageInfo.versionCode;
     tmpInfo.appIcon = packageInfo.applicationInfo.loadIcon(getPackageManager());
     if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
       // 非系统应用
       //                appList.add(tmpInfo);
     } else {
       // 系统应用
     }
     appList.add(tmpInfo);
   }
   return appList;
 }