防止android webview显示错误页面
如果收到错误,我想从asset显示本地HTML。但是,即使我重写了onReceivedError方法,在显示来自资产的页面之前,也会有一个错误页面闪烁一秒钟。这个问题有没有解决办法 这是我的密码:防止android webview显示错误页面,android,webview,android-webview,Android,Webview,Android Webview,如果收到错误,我想从asset显示本地HTML。但是,即使我重写了onReceivedError方法,在显示来自资产的页面之前,也会有一个错误页面闪烁一秒钟。这个问题有没有解决办法 这是我的密码: @Override public void onReceivedError (WebView view, int errorCode, String description, String failingUrl) { Log.i("onReceivedError
@Override
public void onReceivedError (WebView view, int errorCode, String description, String failingUrl)
{
Log.i("onReceivedError", "onReceivedError: " + failingUrl + " errorCode: " + errorCode);
super.onReceivedError(view, errorCode, description, failingUrl);
view.stopLoading();
loadFromAsset(view, failingUrl);
}
我可以通过检查onPageStarted事件中是否有internet连接来绕过这个问题,因为目前为止,它似乎可以在我们测试的所有设备上工作。我正在使用自定义html错误页面
mWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
if(!NetworkConnection.isNetworkAvailable(getActivity()) && !url.equals("file:///android_asset/error_page.html")){
view.loadUrl("file:///android_asset/error_page.html");
}
super.onPageStarted(view, url, favicon);
}
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
mWebView.loadUrl("file:///android_asset/error_page.html");
super.onReceivedError(view,errorCode,description,failingUrl);
}
});
你想犯什么错误
onReceivedError
处理HTTP响应状态代码。从文档:向主机应用程序报告错误。。。基本用法:…不启用JavaScript,网页错误被忽略
我是指默认的Android“未找到页面”错误。您知道-如果没有Internet连接,我希望显示来自资产的页面,而不是错误页面。这里有一些信息:Quote:错误不是HTTP错误,而是不可恢复的资源错误(找不到文件、没有网络连接、找不到主资源的服务器等).
您可以改为使用HttpClient
并处理HttpResponse.getStatusLine.getStatusCode