Flutter 如何监听App页面是否隐藏

使用AppLifecycleListener 来监听 想在那个页面监听就在那个页面初始化 别忘记还有销毁

Dart 复制代码
class _HomePageState extends State<HomePage> with WidgetsBindingObserver {

  @override
  void initState() {
    super.initState();

    WidgetsFlutterBinding.ensureInitialized(); // 确保初始化Flutter的绑定
    WidgetsBinding.instance!.addObserver(this); // 添加观察者
  }

  @override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    // 在这里处理生命周期事件
    switch (state) {
      case AppLifecycleState.inactive:
        print('App is inactive');
        break;
      case AppLifecycleState.resumed://进入前台
        print('App is resumed');
        break;
      case AppLifecycleState.paused://进入后台
        print('App is paused');
        break;
      case AppLifecycleState.detached:
        print('App is suspending');
        break;
      case AppLifecycleState.hidden:
        // TODO: Handle this case.
        throw UnimplementedError();
    }
  }
@override
void dispose() {
  WidgetsBinding.instance!.removeObserver(lifecycleHandler); // 移除观察者
  super.dispose();
}
}
相关推荐
UIUV32 分钟前
JavaScript 遍历方法详解
前端·javascript·代码规范
Zyx20071 小时前
React 中的 Props:组件通信与复用的核心机制
前端
海云前端11 小时前
大模型Function Calling的函数如何调用的?
前端
ohyeah1 小时前
防抖与节流:前端性能优化的两大利器
前端·javascript
Zyx20071 小时前
React Hooks:函数组件的状态与副作用管理艺术
前端
让我上个超影吧2 小时前
基于SpringBoot和Vue实现CAS单点登录
前端·vue.js·spring boot
军军君012 小时前
Three.js基础功能学习五:雾与渲染目标
开发语言·前端·javascript·学习·3d·前端框架·three
程序员爱钓鱼2 小时前
Node.js 编程实战:RESTful API 设计
前端·后端·node.js
程序员爱钓鱼2 小时前
Node.js 编程实战:GraphQL 简介与实战
前端·后端·node.js