Java tutorial
//package com.java2s; //License from project: Apache License import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class Main { /** * Get the installed app list. * * @param context context * @return app list */ public static List<Map<String, String>> getAppList(Context context) { List<Map<String, String>> appList = new ArrayList<>(); PackageManager pm = context.getPackageManager(); List<PackageInfo> packages = pm.getInstalledPackages(0); for (int i = 0; i < packages.size(); i++) { PackageInfo packageInfo = packages.get(i); /* not system app */ if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) { Map<String, String> res = new HashMap<>(); ApplicationInfo appInfo = packageInfo.applicationInfo; res.put(appInfo.packageName, (String) pm.getApplicationLabel(appInfo)); appList.add(res); } } return appList; } }