OnRecivedError不显示自定义错误页面

时间:2015-09-10 03:20:09

标签: android webview android-webview

我正在使用onReceivedError一个自定义错误页面来显示WebView中何时无法使用互联网。下面是我用它的代码。它不起作用。当互联网不可用时,它只显示网页不可用的页面。

无论如何,logcat向我显示了这个错误:

I/chromium﹕ [INFO:CONSOLE(0)] "Not allowed to load local resource: file:///android_asset/webkit/android-weberror.png", source: data:text/html,chromewebdata (0)

我的代码是

private class myWebViewBrowser extends WebViewClient {
    /*@Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }*/
    @Override
    public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
        super.onReceivedError(view, request, error);
        Log.e(String.valueOf(error.getErrorCode()), error.getDescription().toString());
        view.loadUrl("file:///android_asset/error.html");
    }
}

3 个答案:

答案 0 :(得分:3)

你可以改变

view.loadUrl(...);

view.loadDataWithBaseURL( "file:///android_asset/", html, "text/html","utf-8", null );

其中

  • “file:/// android_asset /”是您加载HTML的基本网址

  • html是你的html字符串

  • “text / html”是内容的mime类型

  • “utf-8”是编码风格

  • ,最后一个url为null,用于历史记录参考。

答案 1 :(得分:1)

这可能会有所帮助:

https://groups.google.com/forum/#!topic/android-developers/4g6H0vr5_0E

尝试以下代码:

php artisan config:cache

答案 2 :(得分:1)

    @Override
    public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
        Log.e(String.valueOf(error.getErrorCode()), error.getDescription().toString());
        view.loadDataWithBaseURL( "file:///android_asset/", html, "text/html","utf-8", null );   
        }