在flutter开发中,有遇到,网页是https的,上边的图片是http加载的,而且网页还是第三方的无法更改,需要我们修改下Android 的桥接文件,但是这样只能解决当前的问题,如果缓存文件被清掉了或者换机器了,有需要改这个东西,目前官方也没有这个属性,所以也很无奈
第一种方式:
第一步,需要确定你当前webview_flutter的版本,去pubspec.lock文件搜索flutter_webview 会看到
webview_flutter_android 找到这个版本
第二部去本地硬盘找到缓存文件,我的盘示例
新版本 文件叫WebSettingsHostApiImpl这个,不是之前网上说的FlutterWebView
C:\Users\用户\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\webview_flutter_android-2.10.4\android\src\main\java\io\flutter\plugins\webviewflutter\WebSettingsHostApiImpl.java
第三步找到这个文件打开,添加下图这段代码
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
亲测有效,希望能帮助到你
第二种方式:
还有另外一种方式就是将 webview_flutter webview_flutter_android webview_flutter_wkwebview
这三个库下载到本地,使用本地依赖得方式导入
./就是项目得根目录下边,如果有下一级文件就是../呗,这个是在项目下边的pubspec.yaml依赖哦
然后再找到webview_flutter这个下边的pubspec.yaml添加那两个本地依赖
然后再去改下这个文件
大概就是这样了,这样就不会缓存清空他就没了,我也是试了可以使用