AppUtils

#28 · closed · 2 comments

View on GitHub ↗

Jasperben

建议增加代码【获取所有已安装的应用】和【获取所有 能够显示在 桌面上的 应用】 获取所有已安装的应用 `private List<String> getInstalledPackages(Context context) { List<String> installedPackageList = new ArrayList<>(); List<PackageInfo> installedPackageInfoList = context.getPackageManager().getInstalledPackages(PackageManager.MATCH_UNINSTALLED_PACKAGES); for (PackageInfo packageInfo: installedPackageInfoList) { installedPackageList.add(packageInfo.packageName); } return installedPackageList; } ` 获取所有 能够显示在 桌面上的 应用 `private List<String> getAllLauncherIconPackages(Context context) { List<String> launcherIconPackageList = new ArrayList<>(); Intent intent = new Intent(); intent.setAction(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); //set MATCH_ALL to prevent any filtering of the results List<ResolveInfo> resolveInfos = context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_ALL); for (ResolveInfo info: resolveInfos) { launcherIconPackageList.add(info.activityInfo.packageName); } return launcherIconPackageList; } `

Comments

afkT

* **APP 信息获取工具类 ->** [AppInfoUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/info/AppInfoUtils.java) | 方法 | 注释 | | :- | :- | | getPackageInfoToFile | 通过 APK 路径 初始化 PackageInfo | | getPackageInfoToPath | 通过 APK 路径 初始化 PackageInfo | | getPackageInfo | 获取当前应用 PackageInfo | | getAppInfoBeanToFile | 通过 APK 路径 获取 AppInfoBean | | getAppInfoBeanToPath | 通过 APK 路径 获取 AppInfoBean | | getAppInfoBean | 获取当前应用 AppInfoBean | | getApkInfoItem | 获取 APK 详细信息 | | getAppInfoItem | 获取 APP 详细信息 | | getAppLists | 获取全部 APP 列表 | | getAppPermissionToList | 获取 APP 注册的权限 | | getAppPermissionToSet | 获取 APP 注册的权限 | | getAppPermission | 获取 APP 注册的权限 | | printAppPermission | 打印 APP 注册的权限 | 第一个是有的,AppInfoUtils.getAppLists()、AppInfoUtils.getAppLists(AppInfoBean.AppType.USER) 第二个我找个时间加一下,最近再忙另外的开源项目,准备那个项目提交后,统一把 DevUtils 库都适配到最新然后发个版本。

afkT

第二个方法添加了 [AppInfoUtils#getAllLauncherIconPackageNames](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/info/AppInfoUtils.java#L389) 等我发个版本就可以用了