网页是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
网友评论