首页 > 解决方案 > 如何使用 Flutter 处理应用程序生命周期(在 Android 和 iOS 上)?

问题描述

ActivityFlutter 应用中有生命周期方法吗?

喜欢:

onCreate()
onResume()
onDestroy()

或者:

viewDidload()
viewWillAppear()

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

标签: androidiosdartflutter

解决方案


当系统将应用程序置于后台或将应用程序返回到前台时,会调用一个名为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)


推荐阅读