webview拦截请求(转)

http://blog.csdn.net/knxw0001/article/details/10903055

1. 拦截超链接请求:重写webclient的

 

[java]  view plain copy
  1. @Override  
  2.     public boolean shouldOverrideUrlLoading(WebView view, String url) {  
  3.         Log.e("cache""shouldoverride-url="+url);  
  4.         return super.shouldOverrideUrlLoading(view, url);  
  5.     }  

 

这个在这里可以修改url,指向其他地址。

 

2. 拦截非超链接请求:重写webclient的

 

[java]  view plain copy
  1. @Override  
  2.     public void onLoadResource(WebView view, String url) {  
  3.         Log.e("cache""onLoadResource-url="+url);  
  4.         super.onLoadResource(view, url);  
  5.     }  

这个url修改无效,因为webkeit没有提供相应的中断方法。

 

 

3. 如果webview加载的本地的页面,如webview.loadUrl("file:///android_asset/savehtml.html");以上两个拦截不到,只有webclient的

 

[java]  view plain copy
  1. @Override  
  2.     public void onPageStarted(WebView view, String url, Bitmap favicon) {  
  3.         Log.e("cache""pagestarted-url="+url);  
  4.         super.onPageStarted(view, url, favicon);  
  5.     }  


可以拿到,但无法修改url。

猜你喜欢

转载自liuguofeng.iteye.com/blog/2105264