Это был простой вопрос по проверке установленных пакетов на устройстве... прежде чем я обновил свою ОС до версии 2.3.5, я мог бы найти магазин Market/Play, используя этот код:
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;
}
}
}
По какой-то причине после обновления я просто не могу найти имя пакета, чтобы указать, что приложение установлено, хотя оно находится на устройстве, и я могу получить доступ к рынку.
Изменено ли имя пакета? или, возможно, я смотрю на это неправильно?
Спасибо,
Адам.
UPDATE:
Это был глупый способ проверить, установлен ли пакет... лучший способ:
protected final boolean isPackageInstalled(String packageName) {
try {
application.getPackageManager().getPackageInfo(packageName, 0);
} catch (NameNotFoundException e) {
return false;
}
return true;
}