【发布时间】:2019-02-21 04:45:45
【问题描述】:
我有一些任务,比如药物提醒。日常提醒计划存储在 SQLite 数据库中。提醒每天都不同。
例如
21.02.19 - 08:00、12:00、19:00
22.02.19 - 08:30、12:30、19:30
...
最低安卓 4.4 (Api 19) 目标安卓 9.0 (Api 28)
我了解了 WorkManager、JobScheduler、JobIntentService、FirebaseJobDispathcer、Alarm manager。有很多 API 可以做到这一点。
首先,我尝试使用警报管理器每分钟检查一次时间间隔。但它在最新的 android 中无法正常工作。有后台限制,打盹模式和待机。然后我尝试了 JobScheduler,但它不适用于 21 API 下的设备。而 FirebaseJobDispatcher 需要 google play 服务,这不是一个好主意。最后,我找到了 WorkManager。但是在 workmanager 和 jobscheduler 中的最小间隔为 15 分钟。
如何让后台服务每天在特定的准确时间提醒用户?我没有使用互联网、GPS、位置。仅从 SQLite 获取时间并及时提醒。
【问题讨论】: