gpt4 book ai didi

flutter - Flutter 中等效的 Android onResume() 方法

转载 作者:IT老高 更新时间:2023-10-28 12:37:24 32 4
gpt4 key购买 nike

我正在开发一个 Flutter 应用程序,需要弹出屏幕。我尝试了 initState() 方法,但没有运气。 initState() 在我第一次打开类时被调用。

我们在 Flutter 中是否有与 Android onResume() 方法等效的方法?

有什么想法吗?

最佳答案

您可以使用 WidgetsBindingObserver 并检查 AppLifeCycleState,如下例所示:

class YourWidgetState extends State<YourWidget> with WidgetsBindingObserver {

@override
void initState() {
WidgetsBinding.instance?.addObserver(this);
super.initState();
}


@override
void dispose() {
WidgetsBinding.instance?.removeObserver(this);
super.dispose();
}


@override
void didChangeAppLifecycleState(AppLifecycleState state) {
if (state == AppLifecycleState.resumed) {
//do your stuff
}
}
}

请记住,每次打开应用程序或进入后台并返回应用程序时都会调用它。 (如果您的小部件处于事件状态)

如果你只是想在你的 Widget 第一次加载时监听,你可以使用 addPostFrameCallback 来监听,就像这个例子:

class YourWidgetState extends State<YourWidget> {

_onLayoutDone(_) {
//do your stuff
}

@override
void initState() {
WidgetsBinding.instance?.addPostFrameCallback(_onLayoutDone);
super.initState();
}

}

信息:https://docs.flutter.io/flutter/widgets/WidgetsBindingObserver-class.html

更新:安全合规性为零

关于flutter - Flutter 中等效的 Android onResume() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53128438/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com