This was a simple matter of checking the installed packages on the device… before I’ve upgraded my OS to 2.3.5, I could locate the Market/Play store, using this code:
private static final String GooglePlayStorePackageName = "com.google.market";
void someMethod() {
packageManager = getApplication().getPackageManager();
List<PackageInfo> packages = packageManager.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);
for (PackageInfo packageInfo : packages) {
if (packageInfo.packageName.equals(GooglePlayStorePackageName)) {
googlePlayStoreInstalled = true;
break;
}
}
}
For some reason after the update, I simply cannot find the to package name to indicate the application is installed, although it is on the device, and I can access the market.
Has the package name changed? or perhaps I’m looking at this the wrong way?
Thanks,
Adam.
UPDATE:
That was a stupid way to check if a package is installed… a better way is:
protected final boolean isPackageInstalled(String packageName) {
try {
application.getPackageManager().getPackageInfo(packageName, 0);
} catch (NameNotFoundException e) {
return false;
}
return true;
}
Be aware that this almost 5 years old code is not optimal and Google does not like when you check all installed packages without no good reason. Please check also the other answers.
The package name has changed, it is now com.android.vending
Try: