有没有办法在用户离开应用程序后又回到应用程序中来更新窗口小部件呢?我的应用程序是基于时间的,尽快更新时间会很有帮助.

推荐答案

您可以通过执行以下操作来侦听生命周期事件,例如:

import 'package:flutter/material.dart';
import 'package:flutter/foundation.dart';

class LifecycleEventHandler extends WidgetsBindingObserver {
  final AsyncCallback resumeCallBack;
  final AsyncCallback suspendingCallBack;

  LifecycleEventHandler({
    this.resumeCallBack,
    this.suspendingCallBack,
  });

  @override
  Future<void> didChangeAppLifecycleState(AppLifecycleState state) async {
    switch (state) {
      case AppLifecycleState.resumed:
        if (resumeCallBack != null) {
          await resumeCallBack();
        }
        break;
      case AppLifecycleState.inactive:
      case AppLifecycleState.paused:
      case AppLifecycleState.detached:
        if (suspendingCallBack != null) {
          await suspendingCallBack();
        }
        break;
    }
  }
}



class AppWidgetState extends State<AppWidget> {
  void initState() {
    super.initState();

    WidgetsBinding.instance.addObserver(
      LifecycleEventHandler(resumeCallBack: () async => setState(() {
        // do something
      }))
    );
  }
  ...
}

Flutter相关问答推荐

Flutter日期和时间 Select 器未显示

Flutter bloc -如何使用BlocBuilder?

audioQuery不会等待判断存储权限

为什么要在值列表中两次放入空安全性

应为Map String,dynamic类型的值,但得到的值为type()= Map String,dynamic'

Flutter 日期时间格式

Riverpod Provider.family 和 HookConsumerWidget 不刷新 UI

创建混合 TextWidget 和 TextFieldWidget

在flutter中从图库或相机中 Select 图像的方法

在我使用 flutter_riverpod stateprovider 重新保存代码之前,UI 主题状态不会更新

我可以在列表图块下方添加其他小部件吗

Flutter 错误:OutletListModel类型的值不能分配给List类型的变量?

Flutter - 如何将按钮对齐到行的右侧

flutter 在文本字段中更改部分文本选定 colored颜色

如何修复 ICU Lexing 错误:Flutter 中的意外字符

状况不佳 - Cubit

如何从 Flutter Slider Widget 中移除发光效果?

有什么方法可以将 ChangeNotifier 与 ValueListenableBuilder 一起使用

运行Flutter 测试时出现 FirebaseAppPlatform.verifyExtends 错误

从 Uint8List 或图像对象创建 InputImageData 用于 Google ML Kit 人脸检测