我的 Android 应用程序通过在特定时间发送通知来帮助用户遵循他们的日常计划。使用 JobScheduler 可以轻松解决此任务。这似乎是简单、轻便和最新的解决方案。
我正在苦苦挣扎的是如何计划每天的所有通知。我需要运行代码来检查用户每日计划并在每天午夜静默地安排通知。到目前为止,我发现了 2 种方法
使用作业服务。它可以重新安排
public final void jobFinished(JobParameters params, boolean needsReschedule)
但我认为这是一个不好的解决方案,因为
我需要将完成的工作视为失败,尽管它是成功的
计划时间将线性/指数增加,这对我来说是不可接受的。
另一种方法是使用 AlarmManager,但它也有一些缺点
- 根据文档
已注册的闹钟在设备处于睡眠状态时会保留(如果在此期间它们响起,可以选择唤醒设备),但如果关闭并重新启动,则会被清除。
这是不可接受的,因为我的用户可能会错过一些重要的事情。
- 我读过它很快就会耗尽电池。真的吗?
我在文档中找到的其他解决方案看起来不像我需要的。(https://developer.android.com/topic/performance/scheduling.html)
任何想法如何每天运行计划任务,这将是轻量级和有弹性的重启?