我重写webViewClient.shouldInterceptRequest()以返回资产文件夹中的图像和js文件等公共资源.但这可用于android> = 3..还有用于android 2.x的替代方法
我发现onLoadResource()提供类似的行为,但其返回类型为void
最佳答案
我已经挖了一段时间了,到目前为止我发现实现类似目的的实用
方法是为这个Web视图实现一个本地HTTP代理.
要为webview设置代理,请参阅此问题:WebView android proxy
有许多用Java编写的开源HTTP代理,如LittleProxy.
另一种可能但复杂的方法:使用shouldOverrideUrlLoading()来捕获所有页面请求,但始终返回true.使用您自己的代码获取页面内容,然后使用本地缓存副本解析并替换所有远程资源,最后使用WebView.loadData()加载修改后的内容.