我正在使用flutter_local_notifications来安排每日提醒通知,但我希望防止用户在当天已经完成操作时被通知打扰。换句话说,我希望能够跳过一天。
由于无法在FlutterLocalNotificationsPlugin
触发每个重复通知之前运行一些代码,因此我认为在需要跳过一天时可以执行以下解决方法:取消重复通知并使用设置为第二天的参数重新安排它TZDateTime
。不幸的是,这种方式行不通。
该文档明确指出(来源):
请注意,给定值时,[scheduledDate] 可能不代表第一次显示通知的时间。例如,当前日期和时间为 2020 年 10 月 19 日 11:00(即 2020 年 10 月 19 日上午 11:00),[scheduledDate] 为 2020 年 10 月 21 日 10:00,[matchDateTimeComponents] 的值为[DateTimeComponents.time],那么下一次出现通知的时间是2020年10月20日10:00。
恐怕目前唯一的解决方案是使用workmanager之类的东西来管理我自己的后台任务,而不是FlutterLocalNotificationsPlugin
. 我对吗?还有其他建议吗?