如果没有加载网页,当没有互联网连接时,我正在向用户显示错误消息。
但问题是:在调用onPageStarted方法(这里显示进度对话框)之后,如果我自己断开互联网连接,则不会调用onPageFinished / onReceivedError方法。因此,我无法向用户显示错误消息,也无法关闭对话框。进度对话框继续显示。
我在想WebView有一个超时,它由自己处理。但事实并非如此。没有时间发生。我等了15分多钟,但没有出去。
我怎么能处理这个?
答案 0 :(得分:0)
有两个onReceivedError();
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {...}
这仅适用于Android M+(API >=23);
,如果你设备的android api版本< 23 onReceivedError()
无法执行
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl){...}
此方法适用于所有Android版本;
ps:errorCode
并不意味着 http 状态代码(如404,403),您可以看到api doc