Android WebView 無法載入Https

weixin_33976072發表於2018-01-16

[TOC]

表現

Android 中webView無法載入https協議URL,特別是6.0以後都出現問題
webView 從 Lollipop 開始預設不開 MixedContentMode

修復方法

webView.setWebViewClient(new WebViewClient(){
  @Override
  public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
      webView.getSettings()
      .setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
    }
  }
);

會被警告的修復方法

重寫WebViewClientonReceivedSslError

新增handler.proceed 方法,但 App如果上架GooglePlay會被警告

webView.setWebViewClient(new WebViewClient(){
    @Override
    public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){
      handler.proceed();
    }
  }
);

相關文章