我连接的Web视图能够处理所有请求错误,但如果发生服务器错误,例如500错误,我无法在服务器端执行任何操作以使其正常处理错误。我想在应用程序中添加一些代码,以便在发生致命错误时,应用程序可以处理它并提供一条简单的消息,说明单击此处再试一次。
理想情况下,我想注入并覆盖Web视图中返回的现有内容,并使用一些自定义html,如果问题仍然存在,我可以将其重定向到联系表单或其他内容。到目前为止,我有以下方法。
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
switch(errorCode)
{
case WebViewClient.ERROR_CONNECT:
break;
case WebViewClient.ERROR_REDIRECT_LOOP:
break;
case WebViewClient.ERROR_UNKNOWN:
break;
case WebViewClient.ERROR_TOO_MANY_REQUESTS:
break;
}
}
我不知道从这里需要做什么来覆盖提供http错误信息的Web视图的标准响应。
答案 0 :(得分:0)
您需要覆盖webview onReceivedError方法。
webview.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
switch(errorCode)
{
case WebViewClient.ERROR_CONNECT:
break;
case WebViewClient.ERROR_REDIRECT_LOOP:
break;
case WebViewClient.ERROR_UNKNOWN:
break;
case WebViewClient.ERROR_TOO_MANY_REQUESTS:
break;
}
}
});