在Android开发中,经常会用到webview组件,以较低的成本来展示较为复杂的图文排版。当用户点击webview中的网页的某个链接时,我们可以通过webview的shouldOverrideUrlLoading来捕获该点击,并启动自己定义好的activity或执行其它操作。该方法也同样能捕获到302重定向,代码如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
HitTestResult hit = webView.getHitTestResult();
int hitType = hit.getType();
if (hitType == HitTestResult.SRC_ANCHOR_TYPE) {//点击超链接
//这里执行自定义的操作
return true;//返回true浏览器不再执行默认的操作
}else if(hitType == 0){//重定向时hitType为0
return false;//不捕获302重定向
}else{
return false;
}
}
});