Flutter 监听前台和后台切换的状态

2024-01-08 10:33:12

一 前后台的切换状态监听

混入 WidgetsBindingObserver 这个类,这里提供提供了程序状态的一些监听

二 添加监听和销毁监听

  @override
  void initState() {
    super.initState();
 
    //2.页面初始化的时候,添加一个状态的监听者
    WidgetsBinding.instance.addObserver(this);
  }
  @override
  void dispose() {
    // TODO: implement dispose
    super.dispose();
    //3. 页面销毁时,移出监听者
    WidgetsBinding.instance.removeObserver(this);
  }

三? 监听方法

@override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    // TODO: implement didChangeAppLifecycleState
    super.didChangeAppLifecycleState(state);
    switch (state) {
      //进入应用时候不会触发该状态 应用程序处于可见状态,并且可以响应用户的输入事件。它相当于 Android 中Activity的onResume
      case AppLifecycleState.resumed:
        print("应用进入前台======");
        // 在这里进行判断
        break;
      //应用状态处于闲置状态,并且没有用户的输入事件,
      // 注意:这个状态切换到 前后台 会触发,所以流程应该是先冻结窗口,然后停止UI
      case AppLifecycleState.inactive:
        print("应用处于闲置状态,这种状态的应用应该假设他们可能在任何时候暂停 切换到后台会触发======");
        break;
      //当前页面即将退出
      case AppLifecycleState.detached:
        print("当前页面即将退出======");
        break;
      // 应用程序处于不可见状态
      case AppLifecycleState.paused:
        print("应用处于不可见状态 后台======");
        break;
    }
  }

文章来源:https://blog.csdn.net/github_36850997/article/details/135449149
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。