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;
}
}
|