http://blog.youkuaiyun.com/knxw0001/article/details/10903055
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中通过重写WebViewClient的方法来拦截超链接请求与非超链接请求,包括修改URL指向其他地址的技术细节,并特别强调了本地页面加载时的特殊拦截情况。
1309

被折叠的 条评论
为什么被折叠?



