net:err_unknown_url_scheme


WebView在應用中還是很常見的,比如我們的注冊協議、常見問題等

但是實際開發中總是會遇到一些問題,net:err_unknown_url_scheme

1、解決方法:以"http","https"開頭的url在本頁用webview進行加載,其他鏈接進行跳轉

2、解決方法:以微信、支付寶、撥號 三種跳轉方式,其他類型等進行分類

mWebView.setWebViewClient(new WebViewClient() {
            //重寫此方法,查看瀏覽器內部跳轉
            public boolean shouldOverrideUrlLoading(WebView v, String u) {
                String urlStr = u;
                Log.i(String.valueOf(DetailsActivity.this), urlStr);
                if (u == null) {
                    return false;
                }
                try {
                    /*|| url.startsWith("http:") || url.startsWith("https:")*/
                    if (u.startsWith("weixin://") || u.startsWith("alipays://") || u.startsWith("tel://")) {
                        //類型我目前用到的是微信、支付寶、撥號 三種跳轉方式,其他類型自加
                        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                        startActivity(intent);
                        return true;
                    }
                } catch (Exception e) {
                    return false;
                }
                v.loadUrl(u);
                return true;
            }

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

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

            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
                handler.cancel(); //默認的處理方式,WebView變成空白頁   
//                handler.process();//接受證書
//                handleMessage(Message msg);// 其他處理
            }

        });
        if (url != null) {
            mWebView.loadUrl(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

 

后續還有更多在進行補充。

書到用時方恨少,紙上得來終覺淺!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM