【发布时间】:2018-05-30 21:53:50
【问题描述】:
我需要一些帮助来决定在我的应用中采用哪些类来满足这些要求:
- 在准确的时间(精确到秒)触发警报
- 系统中可以有多个警报(在不同时间触发)。
- 如果设备处于睡眠状态,应唤醒设备并使其保持唤醒状态,直到用户完成定义的任务。
- 应该在尽可能多的 Android 版本上运行,至少从 4.0 及更高版本开始(您可以使用旧手机运行此应用这一事实是一个优势)。
我使用 AlarmManager 和 BroadcastReceiver 编写了一个小演示,以了解所有这些是如何工作的。我研究了 AlarmManager、BroadcastReceiver、WakefulBroadcastReceiver 和 JobScheduler 的文档,尽管我了解其中的差异,但我不知道哪一个可以满足我的要求。
从文档中,我得到的印象是我可能需要编写我的应用程序的多个版本以适应它将运行的不同 Android 版本。这将是一场噩梦!
关于使用哪些类有什么建议吗?我不想朝着一个既定的方向前进,后来发现我需要重写所有内容。
谢谢!
【问题讨论】:
-
"如果设备处于睡眠状态,应唤醒设备并保持唤醒状态,直到用户完成定义的任务。"永远不会发生。 Android 竭尽全力确保在用户不触摸设备时,任何应用都无法让设备保持唤醒状态。
标签: alarmmanager android-alarms android-broadcastreceiver android-wake-lock android-jobscheduler