获取已安装应用列表
2016-11-28 14:07
316 查看
/** * @return 用户安装的应用 */ private List<App> getApps() { List<App> apps = new ArrayList<App>(); PackageManager pm = getPackageManager(); List<PackageInfo> packs = pm.getInstalledPackages(0); for (PackageInfo pi : packs) { //显示用户安装的应用程序,而不显示系统程序 if ((pi.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0 && (pi.applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) == 0) { App app = new App(); // 图标 app.setAppIcon(((BitmapDrawable) pi.applicationInfo.loadIcon(pm)).getBitmap()); // 应用程序名称 app.setAppName(pi.applicationInfo.loadLabel(pm).toString()); // 应用程序包名 app.setAppPackageName(pi.applicationInfo.packageName); apps.add(app); } } return apps; }
/** * 获取已安装软件的信息 */ public static List<App> getAppList(Activity activity) { List<App> appInfos = new ArrayList<>(); PackageManager pm = activity.getPackageManager(); List<PackageInfo> packageInfos = pm.getInstalledPackages(0); for (PackageInfo packageInfo : packageInfos) { if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0 && (packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) == 0) { App appInfo = new App(); // 应用程序名称 appInfo.setAppName(packageInfo.applicationInfo.loadLabel(pm).toString()); // 应用程序版本 appInfo.setAppVersion(packageInfo.versionName); // 应用大小 File file = new File(packageInfo.applicationInfo.publicSourceDir); if (file != null) { DecimalFormat df = new DecimalFormat("0.00");//格式化小数,不足的补0 String fileSize = df.format(((float) file.length()) / 1024.0f / 1024.0f); appInfo.setAppSize(Float.parseFloat(fileSize)); } appInfos.add(appInfo); } } return appInfos; }
第一个:
ActivityManager activityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE); List< ActivityManager.RunningTaskInfo > taskInfo = activityManager.getRunningTasks(1); ComponentName componentInfo = taskInfo.get(0).topActivity;
相关文章推荐
- Android获取系统应用及安装应用的权限列表
- iOS获取已安装应用列表
- 获取系统已安装应用列表
- 获取IOS应用安装列表
- 使用iOS私有API获取安装应用列表
- iOS 11适配:LSApplicationWorkspace无法获取应用安装列表解决方案
- Android 如何完整的获取到用户已安装应用列表
- 安卓Launcher之获取手机安装的应用列表
- 仿茄子快传——获取安装应用列表信息
- ios获取已安装的应用列表
- Android 如何完整的获取到用户已安装应用列表
- 获取IOS应用安装列表
- 获取IOS应用安装列表
- 安卓Launcher之获取手机安装的应用列表,安卓launcher
- [置顶] Android中高仿快牙实现Socket列表的展示,获取安卓手机系统安装的应用和自己安装的应用相关信息
- [置顶] Android中高仿快牙实现Socket列表的展示,获取安卓手机系统安装的应用和自己安装的应用相关信息
- iOS获取已安装的app列表(私有库)+ 通过包名打开应用
- android获取已安装应用信息(列表图标包名列表)
- 获取已安装应用列表
- 获取IOS应用安装列表