我实现了 WidgetsBindingObserver
,但该应用程序从未发送到后台,因此它无法识别 AppLifecycleState.resumed
这是当前的实现
@override
void didChangeAppLifecycleState(AppLifecycleState state) async {
print('\n\ndidChangeAppLifecycleState');
switch (state) {
case AppLifecycleState.resumed:
print('\n\nresumed');
_mymethod();
break;
case AppLifecycleState.inactive:
print('\n\ninactive');
break;
case AppLifecycleState.paused:
print('\n\npaused');
break;
case AppLifecycleState.detached:
print('\n\ndetached');
break;
}
}
模拟我在android中做下一个过程WidgetsBindingObserver
返回应用程序时,我可以在屏幕上看到我的小部件,该应用程序不会重新启动,但控制台上没有任何打印内容,不会发生
print('\n\ndidChangeAppLifecycleState');
和 _mymethod();
从未执行的事件 最佳答案
WidgetsBindingObserver mixin 比仅仅实现接口(interface)需要更多的工作。您还需要将以下内容添加到您的小部件状态类:
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
}
@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
关于flutter didChangeAppLifecycleState 从不运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63641554/