检测是否在webview中单击了market://链接

时间:2014-06-27 11:06:05

标签: java android webview

我尝试在webview中单击链接后执行一些代码。 对于像http://这样的普通链接,我使用了shouldOverrideUrlLoading方法来管理它 view.loadUrl(URL);

但是从以market://开头的链接重定向到GooglePlay应用,这不起作用。 loadURL(" market://")会抛出URL not found错误。

如何检测是否在网页浏览中点击了market://链接?

我的代码:

wvinfo.setWebViewClient(new WebViewClient() {

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {

              if (url.startsWith("http")) {
                    view.loadUrl(url);  // WORKS
                    return true;
              } else if (url.startsWith("market:")){
        <DO SOMETHING SPECIAL>
                  view.loadUrl(url); // DOESN'T WORK
                  return true;
              }
        }

});

2 个答案:

答案 0 :(得分:1)

你的问题是view.loadUrl。这将始终在WebView中加载URL,但您应该直接在PlayStore中打开链接,如here

答案 1 :(得分:0)

您已经检测到是否点击了market://链接,您的代码是正确的。

您的问题是如何调用GooglePlay应用?使用Intent而不是loadUrl:

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setData(Uri.parse(url)); 

startActivity(intent);