Flutter 每天安排不同的通知

Scheduling different notifications on each day Flutter

我是 Flutter 新手。我正在开发一个带有通知的应用程序,通知将在一天的不同时间显示。

For instance: (3:25 AM, 12:24 PM, 17:22 PM, 19:52 PM, 21:02 PM).

这些时间会因日期而异。时间与相应的日期一起存储在数据库中。即使应用程序已终止且未被使用,也应显示这些通知。

问题:

  1. 获取新一天午夜前后的新数据。 (例如,在 00:00 上午左右,我的应用程序应该用新时间重新安排所有昨天的通知,以用正确的数据通知用户)
  2. 我正在使用 flutter_local_notifications 来安排通知。有时它不会触发通知(如果预定时差超过 2 小时)。这就是为什么我要安排最快的通知(例如,如果通知应该在 3:25 AM 出现,那么我想在 30 分钟前安排通知)。但我不确定是否可能。

我试过了

  1. background_fetch 用于与数据库同步时间,但我无法使其工作

  2. flutter_local_notifications 用于显示通知

请考虑我想要显示通知的情况,即使我的应用程序不在 运行 或在后台,以及我想同时支持 Android 和 iOS

欢迎任何帮助或建议。提前致谢

如果您使用 PHP 连接到您的数据库,那么您实际上可以使用 PHP 来安排时间,然后将通知发送到 flutter,就像我在我的应用程序中所做的那样,我的应用程序是关于在交付订单状态更改时向用户发送通知,因此我在数据库中创建了一个 table 并将其转换为 API ,我使用工作管理器包在我的 flutter 应用程序中调用它并 flutter本地通知包,这周末会把视频上传到youtube post link 在这里给你看...或者你能告诉我你的数据库,你用什么连接等等

这是 youtube 视频 https://youtu.be/b6CTeqJnmN0

对于那些面临同样问题的人,我设法通过以下配置解决了我的问题

Future<void> initPlatformState() async {
    var config = BackgroundFetchConfig(
      minimumFetchInterval: 15,
      forceAlarmManager: true,
      stopOnTerminate: false,
      startOnBoot: true,
      enableHeadless: true,
      requiresBatteryNotLow: false,
      requiresCharging: false,
      requiresStorageNotLow: false,
      requiresDeviceIdle: false,
      requiredNetworkType: NetworkType.NONE,
    );
    BackgroundFetch.configure(config, _onBackgroundFetch);
  }

Github repo 查看工作代码。 不要忘记支持,如果回答有帮助,点个赞在github