安卓应用程序在Play商店中的重定向

3

我已经编写了代码以列出所有安装的应用程序。我有一个按钮事件,它将被重定向到Google Store中特定的应用主页。然而,我无法成功地将它们重定向。这是我使用的代码。我在uri中没有得到应用程序的包名称,因此我得到了"服务器上找不到URL"。请提供建议。

public void update(View view) {
    Context context = this;
    Uri uri = Uri.parse("http://play.google.com/store/apps/details?id=" + context.getPackageName());
    Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
    // To count with Play market backstack, After pressing back button,
    // to taken back to our application, we need to add following flags to intent.
    try {
        startActivity(goToMarket);
    } catch (ActivityNotFoundException e) {
        startActivity(new Intent(Intent.ACTION_VIEW,
                Uri.parse("http://play.google.com/store/apps/details?id=" + context.getPackageName())));
    }
}

提前致谢


你正在使用自己应用程序的包名 context = this; context.getPackageName(),你需要使用另一个应用程序的包名。 - SMR
嘿,感谢您的建议。我如何动态设置上下文以重定向到其他应用程序的包名称? - user5378430
我认为这个链接是你所需要的。无上下文。 - SMR
1个回答

2
要打开原生Play商店页面,您必须使用此Play商店模式。
market://details?id=your.app.package.name

请注意,设备可能没有Google Play服务或Play商店本身。

因此,为了避免崩溃,请捕获异常并尝试打开普通URL。

public static void openPlayStorePage(Activity parentActivity, String targetPackageName) {

        try {
            parentActivity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + targetPackageName)));
        } catch (android.content.ActivityNotFoundException anfe) {
            parentActivity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + targetPackageName)));
        }
    } 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接