Try this...
final PackageManager packageManager = getPackageManager();
List<ApplicationInfo> AppPackages = packageManager.getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo AppPackageInfo : AppPackages) {
Log.d(TAG, "Installed App Package :" + AppPackageInfo.packageName);
Log.d(TAG, "Launch Activity :" + packageManager.getLaunchIntentForPackage(AppPackageInfo.packageName));
}
UPDATED
private boolean isAppInstalled(String appPackage) {
boolean isAppExists = false;
PackageManager packageManager = getPackageManager();
List<ApplicationInfo> AppPackages = packageManager.getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo appPackageInfo : AppPackages) {
if (appPackageInfo.packageName.equalsIgnoreCase(appPackage)) {
isAppExists = true;
break;
} else {
isAppExists = false;
}
}
return isAppExists;
}
Here you need to call the method with app package name(the app which you wants to know)