android webpage err_unknown_url_scheme

搞一個 Android 的webview demo 來訪問網頁,java

結果 模擬器就報錯了: webpage err_unknown_url_schemeweb

因而去百度了 一下。發現挺多解決方案的,都拿來試試。竟然有幾種方式均可以。瀏覽器

1,ide

參考 https://blog.csdn.net/grp0916/article/details/51481330url

webView.setWebChromeClient(new WebChromeClient());

     
        webView.getSettings().setJavaScriptEnabled(true);  //設置WebView屬性,運行執行js腳本
        webView.loadUrl("https://www.baidu.com/");          //調用loadUrl方法爲WebView加入連接
        setContentView(webView);

 

 

2,.net

 參考  https://blog.csdn.net/BarryYangGoing/article/details/51848907code

//        webView.setWebViewClient(new WebViewClient() {
//            //設置在webView點擊打開的新網頁在當前界面顯示,而不跳轉到新的瀏覽器中
//            @Override
//            public boolean shouldOverrideUrlLoading(WebView view, String url) {
//

//
//                if( url.startsWith("http:") || url.startsWith("https:") ) {
//                    return false;
//                }
//                Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
//                startActivity(intent);
//                //  下面這一行保留的時候,原網頁仍報錯,新網頁正常.因此註釋掉後,也就沒問題了
//                //          view.loadUrl(url);
//                return true;
//
//
//
//
//
//
//
//
//        }
//        });

也能夠blog

 

3,ip

參考webview

https://blog.csdn.net/xiaopihair123/article/details/73350778

webView.getSettings().setUserAgentString("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0");

看起來是能夠訪問了,

但是有一個問題:

就是 若是地址是 www.baidu.com 通常來講,都是會識別而跳轉到 m.baidu.com

可是上面的方式不會訪問的是PC端的百度頁面。因此應該是內容設置不對, 若是有興趣能夠本身去修改。

 

4,

參考: https://blog.csdn.net/u013062469/article/details/46326573

if (httpurl.startsWith("scheme:") || httpurl.startsWith("scheme:")) {
                        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(httpurl));
                        startActivity(intent);
                    }
                    return false;
 

 

 

5,

直接 return false

webView.setWebViewClient(new WebViewClient() {
            @Override
           public boolean shouldOverrideUrlLoading(WebView view, String url) {
                return  false;
            }

        });
相關文章
相關標籤/搜索