一 前后台的切换状态监听
混入 WidgetsBindingObserver 这个类,这里提供提供了程序状态的一些监听
二 添加监听和销毁监听
@overridevoid initState() {super.initState();//2.页面初始化的时候,添加一个状态的监听者WidgetsBinding.instance.addObserver(this);}
@overridevoid dispose() {// TODO: implement disposesuper.dispose();//3. 页面销毁时,移出监听者WidgetsBinding.instance.removeObserver(this);}
三 监听方法
@overridevoid didChangeAppLifecycleState(AppLifecycleState state) {// TODO: implement didChangeAppLifecycleStatesuper.didChangeAppLifecycleState(state);switch (state) {//进入应用时候不会触发该状态 应用程序处于可见状态,并且可以响应用户的输入事件。它相当于 Android 中Activity的onResumecase AppLifecycleState.resumed:print("应用进入前台======");// 在这里进行判断break;//应用状态处于闲置状态,并且没有用户的输入事件,// 注意:这个状态切换到 前后台 会触发,所以流程应该是先冻结窗口,然后停止UIcase AppLifecycleState.inactive:print("应用处于闲置状态,这种状态的应用应该假设他们可能在任何时候暂停 切换到后台会触发======");break;//当前页面即将退出case AppLifecycleState.detached:print("当前页面即将退出======");break;// 应用程序处于不可见状态case AppLifecycleState.paused:print("应用处于不可见状态 后台======");break;}}