Java 检测是否在网络视图中单击了market://链接

Java 检测是否在网络视图中单击了market://链接,java,android,webview,Java,Android,Webview,我尝试在webview中单击链接后执行一些代码。 对于像http://I这样的普通链接,我使用shouldOverrideUrlLoading方法和 view.loadUrl(url) 但是,如果以market://开头的链接重定向到GooglePlay应用程序,这是行不通的。loadURL(“market://”)引发找不到URL错误 如何检测Web视图中是否单击了market://链接 我的代码: wvinfo.setWebViewClient(new WebViewClient() {

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

但是,如果以market://开头的链接重定向到GooglePlay应用程序,这是行不通的。loadURL(“market://”)引发找不到URL错误

如何检测Web视图中是否单击了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;
              }
        }

});
wvinfo.setWebViewClient(新的WebViewClient(){
@凌驾
公共布尔值shouldOverrideUrlLoading(WebView视图,字符串url){
if(url.startsWith(“http”)){
view.loadUrl(url);//有效
返回true;
}else if(url.startsWith(“市场:”)){
view.loadUrl(url);//不起作用
返回true;
}
}
});

您已经检测到如果单击了market://链接,则您的代码是正确的

你的问题是如何调用GooglePlay应用程序?使用意图而不是加载URL:

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

startActivity(intent);

您的问题是view.loadUrl。这将始终在网络视图中加载URL,但是您应该直接在PlayStore中打开链接,就像

一样,非常感谢您的帮助。