webview_flutter3.0.4无法加载http图片

2022-07-20  本文已影响0人  倪大头

网页是https链接,其中混用了http的图片,会导致无法加载。

解决方式:
安卓:
找到FlutterWebViewFactory类,导入三个头文件:

import android.os.Build;
import android.webkit.WebSettings;
import android.webkit.WebView;

在create方法中添加混用模式的支持:

@Override
  public PlatformView create(Context context, int id, Object args) {
    final PlatformView view = (PlatformView) instanceManager.getInstance((Integer) args);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { // 5.0以上强制启用https和http混用模式
      if (view instanceof WebView){
        ((WebView)view).getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
      }
    }
    if (view == null) {
      throw new IllegalStateException("Unable to find WebView instance: " + args);
    }
    return view;
  }

iOS:
info.plist文件中添加字段App Transport Security Settings-->Allow Arbitrary Loads-->YES

image.png
上一篇 下一篇

猜你喜欢

热点阅读