您好我正在阅读有关AlarmManager
这两个常数的Android文档,但并没有完全区分它们。
System.currentTimeMillis()中的RTC闹钟时间(以UTC为单位的挂钟时间)。
RTC_WAKEUP System.currentTimeMillis()中的闹钟时间(以UTC为单位的挂钟时间),它会在设备熄灭时唤醒设备。
当设备处于休眠模式时,RTC
是否不会唤醒设备并触发PendingIntent
?
提前致谢。
答案 0 :(得分:11)
当设备处于休眠模式时,RTC不会唤醒设备并触发PendingIntent吗?
RTC
和ELAPSED_REALTIME
不会将设备唤醒进入睡眠模式。如果设备在事件发生时处于睡眠模式,则不会立即发生任何事情。当设备因其他原因唤醒时(例如,用户按下电源按钮),您将收到有关错过事件的通知。
RTC_WAKEUP
和ELAPSED_REALTIME_WAKEUP
会将设备唤醒进入睡眠模式。如果您的PendingIntent
是广播PendingIntent
,则Android会让设备保持足够长的时间以使onReceive()
完成。如果你有重要的工作,你不想在onReceive()
中做(因为在主应用程序线程上调用了onReceive()
),你需要安排让设备保持足够长的时间来进行某些服务你的完成工作,例如使用WakefulBroadcastReceiver
。