如何将用户导航到Google Play进行更新



在我的数据库的帮助下,我手动编写了一个方法,每天通知用户一次是否有更新,以及用户是否尚未更新他们的应用程序。用户会看到一个警报对话框,如果单击"是",他们会被引导到该应用程序的Google Play,但该应用程序没有显示更新选项。它只显示卸载和打开,即使有更新。从这个页面,如果你打开另一个应用程序等…返回到同一页面,然后你可以看到更新选项。

这是Alert Dialog Positive Button OnClickListener:的代码

builder.setPositiveButton(newVersion.getPositive(), (dialogInterface, i) -> {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(newVersion.getUrl()));
intent.setPackage("com.android.vending");
startActivity(intent);
});
builder.show();

url来自数据库,它是https://play.google.com/store/apps/details?id=#put_your_package_name_here#

我错过了什么?

提前谢谢。

可能您只是以错误的方式设置了包名称。为了更好地检测问题,请尝试在没有数据库数据的情况下直接运行它,如下所示:

Intent intent = new Intent(Intent.ACTION_VIEW, 
Uri.parse("https://play.google.com/store/apps/details?id=com.android.vending"));
startActivity(intent);

如果这不起作用,请尝试用market://details?id=替换https://play.google.com/store/apps/details?id=,并执行以下操作:

Intent intent = new Intent. ACTION_VIEW,
Uri.parse("market://details?id=com.android.vending"));
startActivity(intent);

之后,您将知道哪个Uri适用于您,然后您可以将其与逻辑一起使用。为了让它更防弹,我建议你像这样使用两个Uri:

final String packageName = "com.android.vending";
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)));
}

最新更新