欢迎访问宙启技术站
智能推送

Android怎样获取WebView加载url的请求错误码

发布时间:2023-05-17 19:32:32

Android中的WebView能够用于显示网页或者是其他需要加载URL的内容,但是当加载的内容出现请求错误时需要获取相应的错误码以便进行处理。本文将会介绍获取WebView加载URL请求错误码的方法。

1. WebViewClient类的onReceivedError()方法

WebViewClient是WebView的内部类,它提供了一些回调方法来处理WebView在加载URL时的状态。其中,onReceivedError()方法会在WebView发生错误时被调用。可以通过该方法的参数获取错误码和错误描述信息。

示例代码:

webView.setWebViewClient(new WebViewClient() {
  @Override
  public void onReceivedError(WebView webView, int errorCode, String description, String failingUrl) {
      super.onReceivedError(webView, errorCode, description, failingUrl);
      //errorCode即为错误码
      Log.e(TAG, "errorCode:" + errorCode);
  }
});

2. WebChromeClient类的onReceivedError()方法

WebChromeClient是WebView的另一个内部类,与WebViewClient一样,它也提供了一些回调方法来处理WebView的状态。其中,onReceivedError()方法会在页面加载过程中发生错误时被调用。与WebViewClient的onReceivedError()方法不同的是,WebChromeClient的onReceivedError()方法只会在主框架加载失败时被调用。同样可以通过该方法的参数获取错误码和错误描述信息。

示例代码:

webView.setWebChromeClient(new WebChromeClient(){
  @Override
  public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
      super.onReceivedError(view, request, error);
      //error.getErrorCode()即为错误码
      Log.e(TAG, "errorCode:" + error.getErrorCode());
  }
});

在使用WebView加载URL时,对于请求错误的处理至关重要。通过上述两种方式可以轻松地获取到请求错误码,以便进行处理。

附:WebView常见的请求错误码含义

|错误码|含义|

|------|------|

|-2|网络连接异常|

|-6|资源加载超时|

|-7|SSL handshake失败|

|-8|SSL证书验证失败|

|404|资源不存在|

|500|服务端错误|

|其他|参考HTTP状态码|