我想知道 RTC, RTC_WAKEUP, ELAPSED_REALTIME, ELAPSED_REALTIME_WAKEUP 之间的区别。
我想编写一个闹钟应用程序,我将在其中设置闹钟并关闭我的应用程序,并期望在设定的时间内闹钟。
会有多个警报。现在我正在为模拟器编写代码,但稍后将在设备上进行测试。在模拟器中,一旦我设置了警报并关闭模拟器并重新启动它,它就会被清除,正如我在 RTC、RTC_WAKEUP 和 ELAPSED_REALTIME 中发现的那样。我很迷惑。我应该使用 ELAPSED_REALTIME_WAKEUP 吗?我还没有看到任何使用 ELAPSED_REALTIME_WAKEUP 的教程。
请解释。
谢谢。
最佳答案
ELAPSED_REALTIME
SystemClock.elapsedRealtime() 中的闹钟时间(启动后的时间,包括 sleep )。此闹钟不会唤醒设备;如果它在设备休眠时熄灭,则直到下次设备唤醒时才会发送。
ELAPSED_REALTIME_WAKEUP
SystemClock.elapsedRealtime() 中的闹钟时间(启动后的时间,包括 sleep ),它会在设备关闭时唤醒设备。
实时时钟
System.currentTimeMillis() 中的闹钟时间(UTC 中的挂钟时间)。此闹钟不会唤醒设备;如果它在设备休眠时熄灭,则直到下次设备唤醒时才会发送。
RTC_WAKEUP
System.currentTimeMillis() 中的闹钟时间(UTC 中的挂钟时间),它将在设备关闭时唤醒设备。
关于Android 闹钟 AlarmManager 提供的四种闹钟有什么区别,什么时候用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5102073/