一尘不染

如何使用Flutter(在Android和iOS上)处理应用程序生命周期?

flutter

ActivityFlutter应用程序中是否有任何生命周期方法?

喜欢:

onCreate()
onResume()
onDestroy()

要么:

viewDidload()
viewWillAppear()

使用Flutter开发应用程序时如何处理应用程序生命周期?


阅读 297

收藏
2020-08-13

共1个答案

一尘不染

当系统将应用程序置于后台或将应用程序返回至前景时,有一个名为的方法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');
  }
}

也有 常量 知道应用程序可以处于的状态,例如:

  1. 不活跃
  2. 已暂停
  3. 已恢复
  4. 悬浮

这些常数的用法将是该常数的值,例如:

const AppLifecycleState(state)

2020-08-13