afkT/DevUtils

AppUtils

Jasperben opened this issue · 2 comments

建议增加代码【获取所有已安装的应用】和【获取所有 能够显示在 桌面上的 应用】
获取所有已安装的应用
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 getAllLauncherIconPackages(Context context) {
List 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;
}

`

afkT commented
方法 注释
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 commented

第二个方法添加了 AppInfoUtils#getAllLauncherIconPackageNames 等我发个版本就可以用了