UserManager userManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
        LauncherApps launcherApps = (LauncherApps) mContext.getSystemService(Context.LAUNCHER_APPS_SERVICE);
        Drawable defaultIcon = mPackageManager.getDefaultActivityIcon();

        final List<UserHandle> userHandles = userManager.getUserProfiles();
        final List<LauncherActivityInfo> unfilteredList = new ArrayList<>();

        for (UserHandle handle : userHandles) {
            unfilteredList.addAll(launcherApps.getActivityList(null, handle));
        }

        for (LauncherActivityInfo appInfo : unfilteredList) {
            String packagName = appInfo.getApplicationInfo().packageName;
            String label;
            Drawable icon;
            try {
                label = appInfo.getLabel().toString();
                icon = mPackageManager.getActivityIcon(appInfo.getComponentName());
            } catch (Exception e) {
                System.gc();
                label = packagName;
                icon = defaultIcon;
            }
        }

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐