• Android 监听WebView加载失败


    public class CustomWebViewClient extends WebViewClient {
     
            @Override
            public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
                super.onReceivedError(view, request, error);
                if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                    int errorCode = error.getErrorCode();
                    String errorMessage = error.getDescription().toString();
                    Log.i("CustomWebViewClient", "onReceivedError  errorCode : " + errorCode + " errorMessage : " + errorMessage);
                }
            }
     
            @Override
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                super.onReceivedError(view, errorCode, description, failingUrl);
                if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
                    Log.i("CustomWebViewClient", "onReceivedError  errorCode : " + errorCode + " description : " + description);
                }
            }
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    注意: WebViewClient 的 onReceivedError()方法要根据安卓版本做版本兼容,android 6.0及以上回调上面的方法,如果是6.0以下,回调下面的函数。
    下面是errorCode的列举:

    /** Generic error */
        public static final int ERROR_UNKNOWN = -1;
        /** Server or proxy hostname lookup failed */
        public static final int ERROR_HOST_LOOKUP = -2;
        /** Unsupported authentication scheme (not basic or digest) */
        public static final int ERROR_UNSUPPORTED_AUTH_SCHEME = -3;
        /** User authentication failed on server */
        public static final int ERROR_AUTHENTICATION = -4;
        /** User authentication failed on proxy */
        public static final int ERROR_PROXY_AUTHENTICATION = -5;
        /** Failed to connect to the server */
        public static final int ERROR_CONNECT = -6;
        /** Failed to read or write to the server */
        public static final int ERROR_IO = -7;
        /** Connection timed out */
        public static final int ERROR_TIMEOUT = -8;
        /** Too many redirects */
        public static final int ERROR_REDIRECT_LOOP = -9;
        /** Unsupported URI scheme */
        public static final int ERROR_UNSUPPORTED_SCHEME = -10;
        /** Failed to perform SSL handshake */
        public static final int ERROR_FAILED_SSL_HANDSHAKE = -11;
        /** Malformed URL */
        public static final int ERROR_BAD_URL = -12;
        /** Generic file error */
        public static final int ERROR_FILE = -13;
        /** File not found */
        public static final int ERROR_FILE_NOT_FOUND = -14;
        /** Too many requests during this load */
        public static final int ERROR_TOO_MANY_REQUESTS = -15;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
  • 相关阅读:
    蓝桥杯倒计时 36天-DFS练习2
    介绍一下js垃圾回收机制
    Redis 由浅入深 (6) - Redis批量删除key
    设计模式代码
    工程水文学复习资料
    STM32中五个时钟源:HSI、HSE、LSI、LSE、PLL
    操作系统复习
    读高性能MySQL(第4版)笔记17_复制(下)
    2023年【陕西省安全员C证】免费试题及陕西省安全员C证考试试卷
    科技云报道:Web3.0与元宇宙是什么关系?
  • 原文地址:https://blog.csdn.net/weixin_42504805/article/details/132626769