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

How to use GetX Flutter to get app status if acive or minimized in the background

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

问题是计数器递增函数保持运行,即使应用程序处于后台或屏幕锁定。

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

谢谢。

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

查看 flutter AppLifecycleState docs 了解每个状态的解释。

class LifeCycleController extends SuperController {

  @override
  void onDetached() {}

  @override
  void onInactive() {}

  @override
  void onPaused() {}

  @override
  void onResumed() {}
}

只需在您的主程序中对其进行初始化,以便在应用程序启动时激活它。

void main() {
  Get.put(LifeCycleController());
  runApp(MyApp());
}