我尝试这样改是可以解决:
@Wanchen7
为啥我按照你这样操作,还是加载不了WebView,WebView一直转圈加载中,就是加载不出页面
abstract class BaseState extends State
with WidgetsBindingObserver {
final MethodChannel _channel = const MethodChannel('flutter/platform_views');
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
}
@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
void _updatePlatformView() async {
await _channel.invokeMethod('dispose');
await _channel.invokeMethod('create');
setState(() {});
}
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
switch (state) {
case AppLifecycleState.paused:
break;
case AppLifecycleState.resumed:
_updatePlatformView();
break;
default:
}
}
}
1、在flutter端 写一个state的基类并且 with WidgetsBindingObserver 复写它的方法
2、创建一个“flutter/platform_views” 的MethodChannel 然后
3、在AppLifecycleState.resumed 的时候发送 “dispose” 和 “create” 消息
前面写的原生端的代码可以去掉了。