net:err_unknown_url_scheme

时间:2025-01-26 22:22:31

WebView在应用中还是很常见的,比如我们的注册协议、常见问题等

但是实际开发中总是会遇到一些问题,net:err_unknown_url_scheme

1、解决方法:以"http","https"开头的url在本页用webview进行加载,其他链接进行跳转

2、解决方法:以微信、支付宝、拨号 三种跳转方式,其他类型等进行分类

(new WebViewClient() {
            //重写此方法,查看浏览器内部跳转
            public boolean shouldOverrideUrlLoading(WebView v, String u) {
                String urlStr = u;
                ((), urlStr);
                if (u == null) {
                    return false;
                }
                try {
                    /*|| ("http:") || ("https:")*/
                    if (("weixin://") || ("alipays://") || ("tel://")) {
                        //类型我目前用到的是微信、支付宝、拨号 三种跳转方式,其他类型自加
                        Intent intent = new Intent(Intent.ACTION_VIEW, (url));
                        startActivity(intent);
                        return true;
                    }
                } catch (Exception e) {
                    return false;
                }
                (u);
                return true;
            }

            @Override
            public void onPageStarted(WebView view, String u, Bitmap favicon) {
                (view, u, favicon);
                ();
            }

            @Override
            public void onPageFinished(WebView view, String u) {
                (view, url);
                ();
            }

            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
                (); //默认的处理方式,WebView变成空白页   
//                ();//接受证书
//                handleMessage(Message msg);// 其他处理
            }

        });
        if (url != null) {
            (url);
        }
    }

应用中重写shouldOverrideUrlLoading这个方法设置相应的webview中连接的指定跳转方式即可。

net:err_unknown_url_scheme这个问题正是在网页中有 其他协议的连接。

 

还有Android 9.0的坑请移步  net::ERR_CLEARTEXT_NOT_PERMITTED Android9.0无法加载url

                                             Android 9.0 WebView无法加载页面报错 net:ERR_CLEARTEXT_NOT_PERMITTED

 

后续还有更多在进行补充。

书到用时方恨少,纸上得来终觉浅!