public List<AppInfo> getInstalledApps() { List<PackageInfo> packageInfos = pm.getInstalledPackages(PackageManager.MATCH_DEFAULT_ONLY); ArrayList<AppInfo> appList = new ArrayList<AppInfo>(); List<PackageInfo> packages = pm.getInstalledPackages(0); for (PackageInfo info : packages) { AppInfo appinfo = new AppInfo(); appinfo.setPackname(info.packageName); appinfo.setVersion(info.versionName); appinfo.setAppname(info.applicationInfo.loadLabel(pm).toString()); appinfo.setAppicon(info.applicationInfo.loadIcon(pm)); appinfo.setUserpp(filterApp(info.applicationInfo)); appList.add(appinfo); appinfo = null; } // ArrayList<AppInfo> appList = new ArrayList<AppInfo>(); // List<ApplicationInfo> applicationInfo = pm.getInstalledApplications(0); // // for (ApplicationInfo info : applicationInfo) { // AppInfo appinfo = new AppInfo(); // // Drawable app_icon = info.loadIcon(pm); // appinfo.setAppicon(app_icon); // String app_name = info.loadLabel(pm).toString(); // appinfo.setAppname(app_name); // String packageName = info.packageName; // appinfo.setPackname(packageName); // try { // //获取应用的版本号 // PackageInfo packageInfo = pm.getPackageInfo(packageName, 0); // String app_version = packageInfo.versionName; // appinfo.setVersion(app_version); // } catch (PackageManager.NameNotFoundException e) { // e.printStackTrace(); // } // appList.add(appinfo); // Log.i("duanlang", "applicationInfos = " + applicationInfo); // } return appList; }