pie*_*rea 3 notifications flutter
我正在使用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. 我对吗?还有其他建议吗?
我遇到了同样的问题。我要采用的解决方案是使用zonedSchedule手动安排未来 X 时间(比如一个月)的所有定期通知(不将其配置为重复)。
接下来,您可以使用cancel取消任何您想要的通知。然后,您只需确保在接近初始安排时间时将每日通知重新安排到未来一个月。例如,您可以使用共享首选项来跟踪计划的限制,以便在应用程序打开时进行检查。
| 归档时间: |
|
| 查看次数: |
703 次 |
| 最近记录: |