@Override protected List<AppInfo> doInBackground(Void... objects) { List<AppInfo> labelsPackages = new ArrayList<AppInfo>(); PackageManager packageManager = activity.getPackageManager(); Iterable<ApplicationInfo> appInfos = packageManager.getInstalledApplications(0); for (PackageItemInfo appInfo : appInfos) { String packageName = appInfo.packageName; if (!isHidden(packageName)) { CharSequence label = appInfo.loadLabel(packageManager); Drawable icon = appInfo.loadIcon(packageManager); if (label != null) { labelsPackages.add(new AppInfo(packageName, label.toString(), icon)); } } } Collections.sort(labelsPackages); return labelsPackages; }