More on Android Alarm Manager, 2014

this is a continuation. Previous research is here

Key api link to understand what is new

The intent you register for an alarm manager must be a broadcast intent

ELAPSED_REALTIME vs RTC

Search for: ELAPSED_REALTIME vs RTC

Here is some discussion on sof


ELAPSED_REALTIME
ELAPSED_REALTIME_WAKEUP
RTC
RTC_WAKEUP

Elapsed time is the time since the system reboot. The real time clock is the time as we track using the Java calendar system.

So if you say 30 minutes from now, that will be from the current time you see on the device screen.

But if you say 30 minutes from elapsed time then that will be since system reboot.

You can all System.elapsedTime() to know what the current elapsed time and then you can use that one.

The alarm will postpone the event if the device is asleep. If you say wakeup option the device will be woken up.

The alarms are inexact since this API. If you want to exact use the setExact() and the setWindow() methods. For apps that declared the target API as older levels the set() method will behave like setExact() to maintain backward compatibility.