Android WebView 无法加载Https

[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();
    }
  }
);

你可能感兴趣的:(Android WebView 无法加载Https)