如何使用 GetX Flutter 获取应用程序状态(如果处于活动状态或在后台最小化)

Abd*_*mdi 6 flutter flutter-getx

如果小部件的自定义 getx 控制器具有基于每隔特定秒运行一次的计时器的计数器增量。

问题是,即使应用程序处于后台或屏幕锁定,计数器增量功能也会继续运行。

我知道如何停止/取消计时器,但如果应用程序未激活,我想这样做。因此,使用 GetX 包如何获取应用程序状态,例如正在运行、被用户关闭、在后台运行但在屏幕上不活动等。

谢谢。

Lor*_*n.A 16

您可以创建一个扩展的 GetX 类SuperController。您可以重写 4 个方法来跟踪应用程序的生命周期。在这些方法中添加计时器功能,以在应用程序处于后台等时控制它......

查看flutter AppLifecycleState 文档以获取有关每个状态的说明。

class LifeCycleController extends SuperController {

  @override
  void onDetached() {}

  @override
  void onInactive() {}

  @override
  void onPaused() {}

  @override
  void onResumed() {}
}

Run Code Online (Sandbox Code Playgroud)

只需在主程序中初始化它,以便从应用程序启动时起它就处于活动状态。

void main() {
  Get.put(LifeCycleController());
  runApp(MyApp());
}
Run Code Online (Sandbox Code Playgroud)