Skip to content

Instantly share code, notes, and snippets.

@akexorcist
Last active August 29, 2023 02:16
Show Gist options
  • Star 9 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save akexorcist/b058ed1fea821614bcd4 to your computer and use it in GitHub Desktop.
Save akexorcist/b058ed1fea821614bcd4 to your computer and use it in GitHub Desktop.
Get application name android package name from all application which have launcher (Not all app in device)
PackageManager pm = getPackageManager();
Intent main = new Intent(Intent.ACTION_MAIN, null);
main.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> packages = pm.queryIntentActivities(main, 0);
ArrayList<String> app_name_list = new ArrayList<String>();
ArrayList<String> app_package_list = new ArrayList<String>();
for(ResolveInfo resolve_info : packages) {
try {
String package_name = resolve_info.activityInfo.packageName;
String app_name = (String)pm.getApplicationLabel(
pm.getApplicationInfo(package_name
, PackageManager.GET_META_DATA));
boolean same = false;
for(int i = 0 ; i < app_name_list.size() ; i++) {
if(package_name.equals(app_package_list.get(i)))
same = true;
}
if(!same) {
app_name_list.add(app_name);
app_package_list.add(package_name);
}
//Log.i("Check", "package = <" + package_name + "> name = <" + app_name + ">");
} catch(Exception e) { }
}
@BrazhnikDA
Copy link

Good practice!

@lcuwx2016
Copy link

lcuwx2016 commented Aug 29, 2023

add get versionName and get appIcon function

String versionName = pm.getPackageInfo(packageName, 0).versionName;
Drawable appIcon = pm.getApplicationIcon(packageName);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment