To get a list of information regarding all installed applications use the method getInstalledApplications() packagemanager:
PackageManager packageManager = getPackageManager();
List<ApplicationInfo> list =
packageManager.getInstalledApplications(PackageManager.GET_META_DATA);
The returned list has an object Applicationinfo for each installed application.
To filter and obtain only those that are from Category "android.intent.category.LAUNCHER"
use the following method:
private List<ApplicationInfo> checkForLaunchIntent(List<ApplicationInfo> list) {
PackageManager packageManager = getPackageManager();
ArrayList<ApplicationInfo> applist = new ArrayList<ApplicationInfo>();
for (ApplicationInfo info : list) {
try {
if (null != packageManager.getLaunchIntentForPackage(info.packageName)) {
applist.add(info);
}
} catch (Exception e) {
e.printStackTrace();
}
}
return applist;
}
Source
Here’s a good start: How to check programmatically if an application is installed or not in Android?
– user28595
What does Voce mean by "consumed"? What have you tried to implement? Give us more information to help you progress on what you’ve tried to implement.
– rsicarelli