How to get a list of installed android applications and pick one to run
android, android-intent
Solution
Following is the code to get the list of activities/applications installed on Android :
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> pkgAppsList = context.getPackageManager().queryIntentActivities( mainIntent, 0);
You will get all the necessary data in the `ResolveInfo` to start a application. You can check `ResolveInfo` javadoc here.
Problem
I asked a similar question to this earlier this week but I'm still not understanding how to get a list of all installed applications and then pick one to run. I've tried: ``` Intent intent = new Intent(ACTION_MAIN); intent.addCategory(CATEGORY_LAUNCHER); ``` and this only shows application that are preinstalled or can run the `ACTION_MAIN` Intent type. I also know I can use `PackageManager` to get all the installed applications, but how do I use this to run a specific application?