这是一个使用案例:用户设置每天特定时间的日常提醒。在指定时间,会发起网络请求以获取一些数据,然后使用检索到的数据显示通知。我不确定应该使用AlarmManager还是WorkManager来实现此用例。
据我了解,AlarmManager最适合在精确时间安排任务。但是如果没有网络,任务将失败,我更喜欢任务被延迟以遵守网络限制,而不是在执行时失败。对于这种受限工作类型,带有最终执行保证的WorkManager似乎是最好的解决方案,使用带有初始延迟的OneTimeWorkRequest,以便在正确时间执行。
据我了解,AlarmManager最适合在精确时间安排任务。但是如果没有网络,任务将失败,我更喜欢任务被延迟以遵守网络限制,而不是在执行时失败。对于这种受限工作类型,带有最终执行保证的WorkManager似乎是最好的解决方案,使用带有初始延迟的OneTimeWorkRequest,以便在正确时间执行。