onReceiveError
是WebViewClient提供的方法,用于网页产生错误时进行回调处理。
1. 旧版的onReceiveError
在API23之前,该方法的签名是:
public void onReceivedError(WebView view, int errorCode,String description, String failingUrl);
文档是:
Report an error to the host application. These errors are unrecoverable (i.e. the main resource is unavailable). The errorCode parameter corresponds to one of the ERROR_* constants.
简单来说,onReceivedError只有在遇到不可用的(unrecoverable)错误时,才会被调用)。
比如,当WebView加载链接www.barryzhang.com时,”不可用”的情况有可以包括有:
- 没有网络连接
- 连接超时
- 找不到页面www.barryzhang.com
而下面的情况则不会被报告:
- 网页内引用其他资源加载错误,比如图片、css不可用
- js执行错误
2. 应用:显示个自定义ERROR界面
基于以上特性,所以它可以用来处理网页加载不出来的情况,比如显示一段友好的提示语、一个重试按钮等。
比如像这样:
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {