最近项目做的hybrid app,使用到WebView,然而经过多次测试WebView加载网页失败,比如404,或者找不到网页等异常错误是并不会回调到WebViewClient的onReceivedError方法,于百度找了好多也没能解决,最后还是Google了一下,找到了解决方案,但是还是有些牵强,解决方案如下:
重写 WebChromeClient 的onReceivedTitle方法
@Override public void onReceivedTitle(WebView view, String title) {
super.onReceivedTitle(view, title);
if (title.equals("找不到网页")||title.equals("404 Not Found")) {
view.stopLoading();
webView.loadUrl("file:///android_asset/index.html"); //加载本地页面
}
}
虽然能解决我遇到的问题,但是感觉还是不那么满意,如果有更好的解决方案,请与我分享一下