[英]Is there a way to skip a recurring notification using flutter_local_notifications?
我正在使用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 時間的所有定期通知到未來(比如一個月)。
接下來,你可以取消任何你想要的通知取消。 然后,您只需確保在接近初始安排時間時將每日通知的未來重新安排為一個月。 例如,您可以使用共享首選項來跟蹤計划的限制,以便在打開應用程序時進行檢查。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.