在Android中,你可以通过WebViewClient来处理WebView加载网页时的错误码信息。WebViewClient是一个用于处理WebView事件的类,包括加载页面、页面开始加载、页面加载完成等事件。以下是一些基础入门的方法,用于处理网页返回的错误码信息:

1. 创建自定义的 WebViewClient 类:
   import android.graphics.Bitmap;
   import android.os.Build;
   import android.webkit.WebResourceError;
   import android.webkit.WebResourceRequest;
   import android.webkit.WebView;
   import android.webkit.WebViewClient;

   public class MyWebViewClient extends WebViewClient {

       @Override
       public void onPageStarted(WebView view, String url, Bitmap favicon) {
           // 页面开始加载时调用
           super.onPageStarted(view, url, favicon);
       }

       @Override
       public void onPageFinished(WebView view, String url) {
           // 页面加载完成时调用
           super.onPageFinished(view, url);
       }

       @Override
       public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
           // 在加载网页时发生错误时调用
           super.onReceivedError(view, errorCode, description, failingUrl);
           // 处理错误信息
           handleError(errorCode, description);
       }

       // 针对 Android 6.0 及以上版本的处理
       @Override
       public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
           if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
               // 在加载网页时发生错误时调用
               super.onReceivedError(view, request, error);
               // 处理错误信息
               handleError(error.getErrorCode(), error.getDescription().toString());
           }
       }

       // 处理错误信息的方法
       private void handleError(int errorCode, String description) {
           // 在这里处理错误信息,可以根据errorCode和description做相应的处理
           // 例如,显示一个错误提示或者加载一个本地错误页面
       }
   }

2. 设置 WebViewClient:
   在使用WebView的地方,设置自定义的WebViewClient:
   WebView webView = findViewById(R.id.webView);
   webView.setWebViewClient(new MyWebViewClient());

通过上述步骤,你就可以在WebView加载网页时处理错误码信息了。在onReceivedError方法中,你可以根据errorCode和description的值来进行相应的处理,例如显示错误提示或者加载一个本地的错误页面。


转载请注明出处:http://www.pingtaimeng.com/article/detail/15205/Android