每天安排不同的通知

时间:2020-04-30 12:21:27

标签: android ios flutter schedule localnotification

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

例如:(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出现,那么我想在30分钟前安排通知)。但我不确定是否可行。

我尝试过的事情。

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

  2. flutter_local_notifications用于显示通知

请考虑以下情况:即使我的应用未运行或在后台运行,我也想显示通知,并且我希望同时支持Android和iOS

欢迎任何帮助或建议。预先感谢

1 个答案:

答案 0 :(得分:2)

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

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上加个星号