gpt4 book ai didi

java - 我怎样才能在最新的安卓手机上运行像闹钟这样的后台工作

转载 作者:行者123 更新时间:2023-11-29 18:34:36 24 4
gpt4 key购买 nike

我有一些任务,比如药物提醒。每天的提醒计划存储在 SQLite 数据库中。提醒每天都不一样。

例如

21.02.19 - 08:00、12:00、19:00

22.02.19 - 08:30、12:30、19:30

...

最低安卓 4.4 (API 19)目标android 9.0 (Api 28)

我了解了 WorkManager、JobScheduler、JobIntentService、FirebaseJobDispathcer、Alarm manager。有很多 API 可以做到这一点。

首先,我尝试使用闹钟管理器每分钟检查一次时间间隔。但它在最新的 android 中无法正常工作。有背景限制,打瞌睡模式和待机。然后我尝试了 JobScheduler,但它不能在 21 API 下工作。而 FirebaseJobDispatcher 需要 google play 服务,这不是一个好主意。最后,我找到了 WorkManager。但是在 workmanager 和 jobscheduler 中有最小间隔,如 15 分钟。

如何让后台服务在每天特定的准确时间提醒用户?我没有使用互联网、GPS 和定位。只从 SQLite 获取时间并在准确时间提醒。

最佳答案

几个月前,我也开发了吃药提醒应用。

我使用“在凌晨 0:00 使用 android-job 运行每日作业” ' 实现这一目标的方法。

在 DailyJob 中,我们有这个流程。

  1. 在数据库中抓取一些时间信息
  2. 将(所需时间 - 现在时间)转换为毫秒。如果现在时间是 00:15AM,而期望时间是 07:00AM,则它将是 24300000ms。
  3. 在步骤 2 中以转换后的毫秒数运行精确作业。

在 Exact job 中,我们向用户显示一条通知。

因为隐私问题,我不能附上代码,但你可以实现同样的事情。

关于java - 我怎样才能在最新的安卓手机上运行像闹钟这样的后台工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54799415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com