系统的定时器有系统时钟:RTC(Real-time Clock) 和 系统流逝时间:ELAPSED_REALTIME 两种, 前者可以手动设置,后者是从系统启动开始计算的时间。
闹钟类型(定时器类型)有一下四种:
AlarmManager.RTC,硬件闹钟,不唤醒手机(也可能是其它设备)休眠;当手机休眠时不发射闹钟。
AlarmManager.RTC_WAKEUP,硬件闹钟,当闹钟发躰时唤醒手机休眠;
AlarmManager.ELAPSED_REALTIME,真实时间流逝闹钟,不唤醒手机休眠;当手机休眠时不发射闹钟。
AlarmManager.ELAPSED_REALTIME_WAKEUP,真实时间流逝闹钟,当闹钟发躰时唤醒手机休眠;
RTC闹钟和ELAPSED_REALTIME最大的差别就是前者可以通过修改手机时间触发或者延迟闹钟事件,后者要通过真实时间的流逝,即使在休眠状态,时间也会被计算。