我尝试在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;
}
}
});
答案 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);