flutter webview android h5 select组件点击秒退解决方法
最近公司有项目用flutter+webview的方式开发(我知道这很蠢),其中有好多坑,在这里记录一下。
在这里我用的是flutter官方的webview组件 webview_flutter
webview_flutter: ^0.3.13
引入方式如上,pub仓库地址为这个,webview_flutter pub 仓库。
因为这个组件功能比较多,有js channel等。
第一个坑是在安卓机上嵌入的网页中h5的select组件点击就秒退。
造成这个问题的原因是打开这个网页的activity默认引用的是application的activity,而不是当前的activity。
我们需要做的是改这个插件中的代码,获取到当前的activity,并把它传到webview的init里。
这里以mac为例说明一下插件的位置和项目工程中引用的位置。
flutter插件下载之后,位置在你的flutter sdk文件夹里
flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_webview_plugin-0.3.7
而项目中的
mycode/FlutterProjects/flutter_app2/ios/.symlinks/plugi