android - 如何使用 Flutter 处理应用程序生命周期(在 Android 和 iOS 上)?
问题描述
Activity
Flutter 应用中有生命周期方法吗?
喜欢:
onCreate()
onResume()
onDestroy()
或者:
viewDidload()
viewWillAppear()
使用 Flutter 制作应用程序时如何处理应用程序生命周期?
解决方案
当系统将应用程序置于后台或将应用程序返回到前台时,会调用一个名为didChangeAppLifecycleState
.
class _AppLifecycleReactorState extends State<AppLifecycleReactor> with WidgetsBindingObserver {
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
}
@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
AppLifecycleState _notification;
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
setState(() { _notification = state; });
}
@override
Widget build(BuildContext context) {
return new Text('Last notification: $_notification');
}
}
还有一些常数可以知道应用程序可以处于的状态,例如:
- 不活跃
- 暂停
- 恢复
- 暂停
这些常量的使用将是常量的值,例如:
const AppLifecycleState(state)
推荐阅读
- git - 如何解决:未能将一些参考推送到 gitlab?
- python - Pandas: add new column based on category of another column and dictionary
- paypal - 我如何在 paypal api 中更改订阅计划
- postgresql - 对角识别记录并生成主键
- spss-modeler - 自动数字块忽略 SPSS Modeler 中的拆分
- python - Mallet 停止处理大型数据集?
- angular - npm install 不覆盖现有的 node_module 包(自定义更改)
- r - 需要帮助在天气数据中制作箱线图
- javascript - 如何访问数组中对象的属性并按它对数组进行排序?
- python - 如何在python中修复'fp.seek(self.start_dir,0)OSError:[Errno 22] Invalid argument'