Java 检测是否在网络视图中单击了market://链接
我尝试在webview中单击链接后执行一些代码。 对于像http://I这样的普通链接,我使用shouldOverrideUrlLoading方法和 view.loadUrl(url) 但是,如果以market://开头的链接重定向到GooglePlay应用程序,这是行不通的。loadURL(“market://”)引发找不到URL错误 如何检测Web视图中是否单击了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() {
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中打开链接,就像一样,非常感谢您的帮助。