Android WebView and Market url



我使用网络视图来导航我的网站。我的网站包含市场网址。我试图在点击市场url时启动Playstore应用程序(下面的代码),但该应用程序打开的是最后一个打开的应用程序,而不是Playstore。如果我回来重新打开我的应用程序,Playstore将在我的webView中打开。我需要帮助,谢谢。

    mWebview.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
              if (url.startsWith("market://"))
                {
                    Intent intent = new Intent(Intent.ACTION_VIEW); 
                    intent.setData(Uri.parse(url)); 
                    startActivity(intent);
                    return true;
                 }
                else{
                    view.loadUrl(url);
                    return true;
                    }
        }
        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            Toast.makeText(activity, "Unable to open URLnPlease Activate WiFi or MobileData and Try Again", Toast.LENGTH_LONG).show();
        }
    });

我通过这次代码更改解决了问题。工作非常适合我。从任何市场开放市场://url

public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if (url != null && url.startsWith("market://")) {
                Intent i = new Intent("android.intent.action.VIEW");
                i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                i.setData(Uri.parse(url));
                startActivity(i);
                return true;
            } else {
                return false;
            }
        }

首先,您必须检查用户设备上是否存在Play Store。如果未启用Play Store,则在网络视图中打开该商店,否则打开商店应用程序。

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

最新更新