Android WebView未加载HTTPS URL

public void onCreate(Bundle savedInstance)

{       

    super.onCreate(savedInstance);

    setContentView(R.layout.show_voucher);

    webView=(WebView)findViewById(R.id.webview);

    webView.getSettings().setJavaScriptEnabled(true);

    webView.getSettings().setBuiltInZoomControls(true);

    String url ="https://www.paymeon.com/Vouchers/?v=%C80%8D%B1x%D9%CFqh%FA%84%C35%0A%1F%CE&iv=%25%EE%BEi%F4%DAT%E1"

    //webView.loadUrl(url); // Not Working... Showing blank

    webView.loadUrl("http://www.yahoo.com"); // its working    

}

当我尝试在WebBView中加载URL时,它仅显示空白屏幕。如果我加载Google.com或yahoo.com,则工作正常。


SMILET
浏览 877回答 3
3回答

慕尼黑5688855

将此替代方法添加到您的WebViewClient实现中。您需要使用Android SDK 2.2(API级别8)或更高版本进行编译。该方法从2.2(API级别8)开始出现在公共SDK中,但我们已经在运行2.1、1.6和1.5的设备上对其进行了测试,并且也可以在这些设备上运行(因此,这种行为一直存在)。 @Overridepublic void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {    handler.proceed(); // Ignore SSL certificate errors}这将为您提供帮助。

慕哥6287543

根据正确的答案,下面是一个可能有用的小代码示例。首先,创建一个扩展WebViewClient的类并将其设置为忽略SSL错误:// SSL Error Tolerant Web View Clientprivate class SSLTolerentWebViewClient extends WebViewClient {            @Override            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {                handler.proceed(); // Ignore SSL certificate errors            }}然后,使用您的Web视图对象(在OnCreate()方法中启动),将其Web视图客户端设置为重写类的实例: mWebView.setWebViewClient(                new SSLTolerentWebViewClient()
打开App,查看更多内容
随时随地看视频慕课网APP