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