WidgetsBindingObserver是否可以在无状态窗口小部件上工作?

时间:2020-06-29 14:38:23

标签: flutter dart

我正在尝试使用WidgetsBindingObserver来查看我的应用程序是否处于前台。但似乎什么也没做。它仅适用于全状态窗口小部件吗?

class TheHomeView extends StatelessWidget with WidgetsBindingObserver {

  @override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    print('lifecycle changed');
    if (state == AppLifecycleState.resumed) {
      print('resumed');
      showLatestGroupNotification();
    }
  }

1 个答案:

答案 0 :(得分:1)

事实证明,您可以在无状态小部件中使用它。但是您需要使用

WidgetsBinding.instance.addObserver(this);

您可以在小部件的构造函数中执行。但是,如果您要删除处理时的绑定

WidgetsBinding.instance.removeObserver(this);

您将需要仅在全状态窗口小部件中可用的处置。否则,您将不得不手动进行操作。

https://dev.to/pedromassango/onresume-and-onpause-for-widgets-on-flutter-27k2