【发布时间】:2015-01-19 07:07:48
【问题描述】:
我有一个 webview,webview 可能包含具有两种不同类型链接的网页。我想要的是,如果用户单击包含http://webpagename.com 的链接,它应该在手机的浏览器中打开该链接。如果用户点击第二种类型的链接,它没有http://,他应该被重定向到一个新的活动。现在正在发生的事情是,http:// 的链接正在 web 视图和浏览器中打开。但是,没有http:// 的链接显示网页不可用。
webview中处理onclick链接的代码:
// to know which link is clicked
holder.webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
holder.webView.setWebViewClient(new WebViewClient() {
@Override
public WebResourceResponse shouldInterceptRequest (final WebView view, String url) {
if (url != null && url.startsWith("http://")) {
view.getContext().startActivity(
new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return null;
}
else {
Log.e("URL: ", url);
System.out.println(url.replace(url.substring(0,url.lastIndexOf("/")+1), ""));
return null;
}
}
/**
* Return WebResourceResponse with CSS markup from a String.
*/
});
return super.shouldOverrideUrlLoading(view, url);
}
});
我应该怎么做才能确保 http:// 链接始终在浏览器中打开,而其他链接打开活动但在 web 视图中没有打开?
【问题讨论】:
标签: java android webview hyperlink onclick