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;
}
}
解决获取应用图标显示为android默认图标
最新推荐文章于 2025-07-03 10:04:21 发布
这段代码主要用于获取设备上的用户信息和应用程序列表。它遍历所有用户,从`LauncherApps`服务中获取每个用户的活动列表,并为每个应用获取其包名、标签和图标。在处理过程中,如果遇到异常,则使用默认图标作为替代。
1210

被折叠的 条评论
为什么被折叠?



