发生http错误时,Android覆盖Web视图

时间:2016-06-03 07:54:42

标签: android http

我连接的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视图的标准响应。

1 个答案:

答案 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;
    }
    }
 });