如何在午夜触发功能

How to trigger a function at midnight

我的应用程序应该在以下两种情况之一为真时触发函数“dayChange()”:

  1. 自应用上次激活(打开或恢复)以来已经过了午夜
  2. 该应用程序在午夜处于活动状态

"dayChange()" 将一个新对象放入列表并将该列表保存到我的共享首选项实例中。

我需要的是: 我不是在寻求一个完整的解决方案(因此没有代码),而是一些基本的理解和 Google 的方向。

我现在所在的位置: 我接近 1 的解决方案。我保存 DateTime.now() 并在每次应用程序启动时通过 SharedPreferences 加载它打开。然后我检查日期是否已更改。我不太确定如何处理恢复,但我相信我可以通过谷歌搜索生命周期的东西来解决这个问题。

因为 2 事情变得更加复杂。

解决这个问题的好方法是什么?我愿意深入挖掘以解决问题,但我不想在不知道鹅是我真正需要的情况下继续寻找野鹅。

如文档所述here

DateTime current = DateTime.now();
Stream timer = Stream.periodic( Duration(seconds: 1), (i) {
       current = current.add(Duration(seconds: 1));
      return current;
    });

    timers.listen((data)=> print(data));

否则打开时,只需计算 date/time。