gpt4 book ai didi

dart - 当应用进入前台或后台时,AppLifcycleState.didChangeLifecycleState( ) 函数不会被调用

转载 作者:IT王子 更新时间:2023-10-29 07:04:37 25 4
gpt4 key购买 nike

当我打开我的应用程序或在后台运行时,不会调用 didChangeAppLifecycleState() 并且不会执行打印语句。

   import 'package:flutter/widgets.dart';
import 'package:flutter/material.dart';


void main(){
runApp(
MaterialApp(
home: Home(),
)
);
}


class Home extends StatefulWidget {
@override
_HomeState createState() => _HomeState();
}

class _HomeState extends State<Home> with WidgetsBindingObserver{
AppLifecycleState state;
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
}
@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}

void didChangeAppLifeCycleState(AppLifecycleState appLifecycleState) {
state = appLifecycleState;
print(appLifecycleState);
print(":::::::");
}

@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
child: Center(
child:Text("hi")
),
),
);
}
}
}

didChangeAppLifeCycleState() 中的打印语句未执行。

最佳答案

这不是 OP 问题的答案,每次我遇到这个问题时,我都忘了调用 WidgetsBinding.instance.addObserver(this); in initState( )

如果没有为您调用didChangeAppLifecycleState,请不要忘记将您的实现类添加为监听器。

initState()dispose() 中查看 OP 的代码,并确保您也这样做。

关于dart - 当应用进入前台或后台时,AppLifcycleState.didChangeLifecycleState( ) 函数不会被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54462953/

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