Я пытаюсь программно открыть приложение Amazon, и если оно не найдено в телефоне, пользователю предлагается установить его из игрового магазина, но проблема в том, что когда я пытаюсь открыть его в игровом магазине, он показывает ошибку Item not found
.
Вот мой код:
public void openApp(final String packageName, final String appName) {
Intent intent = getBaseContext().getPackageManager().getLaunchIntentForPackage(packageName);
if (intent != null) {
startActivity(intent);
} else {
AlertDialog.Builder builder;
builder = new AlertDialog.Builder(MainActivity.this);
builder.setMessage(appName + " not found. Would you like to install " + appName + " from play store?")
.setPositiveButton("YES", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
try {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + packageName)));
} catch (android.content.ActivityNotFoundException anfe) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + packageName)));
}
}
})
.setNegativeButton("NO", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
})
.show();
}
}
где packageName
равно in.amazon.mShop.android.shopping
, а appName
равно Amazon
.
У меня есть имя пакета из ссылки приложения в магазине приложений, т. е. https://play.google.com/store/apps/details?id=in.amazon.mShop.android.shopping&hl=en
Что здесь происходит и как я могу успешно открыть приложение Amazon в магазине игр, если оно не найдено на устройстве?