1

我正在尝试每 72 小时发送一次通知。我正在使用flutter_local_notifications包。我知道我可以定期显示通知,但据我所知,它仅限于以下选项:

/// The available intervals for periodically showing notifications.
enum RepeatInterval {
  /// An interval for every minute.
  everyMinute,

  /// Hourly interval.
  hourly,

  /// Daily interval.
  daily,

  /// Weekly interval.
  weekly
}

有什么办法可以达到72h的间隔吗?我在这方面找不到任何东西。如果您需要更多信息,请告诉我!任何帮助表示赞赏!

4

3 回答 3

0

你可以试试这个:-

 fltrNotification = new FlutterLocalNotificationsPlugin();

 var scheduledTime = DateTime.now().add(Duration(hour : 72));
 fltrNotification.schedule(1, "Times Uppp", task, 
 scheduledTime, generalNotificationDetails);
于 2021-12-23T08:48:00.960 回答
0

这种方法总是有效的

  1. 制作自己的包裹副本
  2. 修改它

1.制作自己的副本

您可以轻松地将包文件复制到您的项目中。并像这样使用它(颤振文档

dependencies:
  plugin1:
    path: ../plugin1/

如果您愿意,您可以分叉项目并像下面这样使用它

dependencies:
  plugin1:
    git:
      url: git://github.com/flutter/plugin1.git

2.修改它

对于您的问题,您可以将 Daily interval 的值更改为 (3 * Daily interval)

我找到了这部分代码(android - ios

于 2021-12-23T17:53:25.087 回答
0

如果我是你,我会使用颤振 cron 包:pub.dev 上的 cron 包 它允许你安排一个 cron 作业,这只是一个每隔 x 秒或天、月运行一次的任务......例如:

fltrNotification = new FlutterLocalNotificationsPlugin();
final cron = Cron();
// Schedule a task that will run every 3 days
cron.schedule(Schedule.parse('0 0 */3 * *'), () async {
  // Schedule a notification right now
  fltrNotification.schedule(1, "Times Uppp", task, 
  DateTime.now(), generalNotificationDetails);
  print('every three days');
});
If you want to change the frequency, cron is very flexible and you can do pretty much any frequency, the cron syntax is pretty straightforward and their are some websites online that allow you to simply generate it.

当然,有几种方法可以使用 cron 来做你想做的事。您可以在接下来的 72 小时内每 72 小时安排一次通知,每 24 小时刷新一次,无论您觉得更好。

(顺便说一下,我在这个例子中使用了 Piyush Kumar 的部分答案,并将其更新为使用 cron)

于 2021-12-27T12:50:34.193 回答