原本想昨天一起发上来的,后来发现,现在简书限制了每天发的文章篇数,这是为啥?别说了,上代码吧!!!
///如何获取Flutter应用维度生命周期
///WidgetsBindingObserver:是一个Widgets绑定观察器,通过它我们可以监听应用的生命周期/语言等
class AppLifecycle extends StatefulWidget {
@override
_AppLifecycleState createState() => _AppLifecycleState();
}
class _AppLifecycleState extends State<AppLifecycle>
with WidgetsBindingObserver {
@override
void initState() {
//添加生命周期监听器
WidgetsBinding.instance.addObserver(this);
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Flutter应用的生命周期'),
leading: BackButton(),
),
body: Container(
child: Text("Flutter应用的生命周期"),
),
);
}
//添加WidgetsBinding.instance.addObserver(this)之后,当生命周期发生变化之后就会回调这个方法
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
super.didChangeAppLifecycleState(state);
print('$state');
if(state==AppLifecycleState.paused){
//当app进入后台
print('app进入后台');
}else if(state==AppLifecycleState.resumed){
print('app进去前台');
}else if(state==AppLifecycleState.inactive){
//不常用:应用程序处于非活动状态,并且未接收到用户输入时调用,比如:来了个电话
}else if(state==AppLifecycleState.detached){}
}
@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
}