【发布时间】:2017-09-07 00:55:29
【问题描述】:
我正在尝试以编程方式打开亚马逊应用程序,如果在手机中找不到它,则会要求用户从 Play 商店安装它,但问题是当我尝试在 Playstore 中打开它时,它是显示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。
我从应用的 playstore 链接中获得了包名称,即https://play.google.com/store/apps/details?id=in.amazon.mShop.android.shopping&hl=en
这里出了什么问题,如果在设备中找不到,我如何才能在 Playstore 上成功打开亚马逊应用?
【问题讨论】:
-
我刚刚检查了您的代码,它在 Play 商店中加载亚马逊应用对我来说很好。您确定您传递的包名称与您在此处发布的相同吗?即 in.amazon.mShop.android.shopping?。请确保那里没有错字。
-
@sam_0829 我又犯了一个愚蠢的错误。谢谢!
标签: android android-intent android-package-managers