我正在使用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");
}
}
答案 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 );
}