LoginSignup
13
12

More than 5 years have passed since last update.

Androidアプリのwebviewで、https/http混在コンテンツを表示したい時の対応方法(Android L以降)

Posted at

セキュリティ上の理由から、Android L以降ではhttpとhttpsの混在コンテンツのあるページをwebviewで表示しようとすると通信がブロックされるようになった。
※例えば、httpsのページ内でhttpの画像を表示しようとすると通信がブロックされ正しく表示されなくなった。

本来はサーバ側でhttpまたはhttps通信に統一するようにHTMLを修正するのが一番いいんでしょうけど、どうしても対応出来ない時の対応方法。

@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {

    WebView webView = (WebView) findViewById(R.id.webView);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        // Andoird L未満と同じ設定にする「MIXED_CONTENT_ALWAYS_ALLOW」
        webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
    }

}

・参考URL
http://developer.android.com/intl/ja/reference/android/webkit/WebSettings.html#setMixedContentMode%28int%29

13
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
12