webview拦截请求

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

@Override
	public boolean shouldOverrideUrlLoading(WebView view, String url) {
		Log.e("cache", "shouldoverride-url="+url);
		return super.shouldOverrideUrlLoading(view, url);
	}

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


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

@Override
	public void onLoadResource(WebView view, String url) {
		Log.e("cache", "onLoadResource-url="+url);
		super.onLoadResource(view, url);
	}
这个url修改无效,因为webkeit没有提供相应的中断方法。


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

@Override
	public void onPageStarted(WebView view, String url, Bitmap favicon) {
		Log.e("cache", "pagestarted-url="+url);
		super.onPageStarted(view, url, favicon);
	}

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



你可能感兴趣的:(webview拦截请求)