即使从缓存加载,也会调用Webview onReceivedError

时间:2016-06-19 11:37:06

标签: android android-webview

我已将我的Webview设置为缓存它访问的每个页面(在线时)。我还需要在Webview上显示一个自定义视图,以防设备脱机并且用户尝试加载网页但未缓存。

即使页面已从缓存加载,似乎调用了onReceivedError()类的WebViewClient方法,并且它设置了相同的错误代码,即-2显然意味着ERROR_HOST_LOOKUP

有没有办法确定网页是否失败并且未从缓存中加载,那么我可以向用户显示自定义视图?不,我不能禁用缓存,我需要保留它。

1 个答案:

答案 0 :(得分:1)

我最近不得不解决这个问题而且已经破解了它:我注意到在加载缓存内容时;在onReceivedError()之前多次调用WebViewClient的onLoadResource()。没有缓存内容时; onLoadResource()仅在onReceivedError()之前调用过一次。

我使用此行为差异来设置onReceivedError()中使用的标志,以确定是否应显示我的错误视图。

E.g:

package

编辑:这是一个没有任何意义的工作API的好替代 ......但这是我能做的最好的缺乏。