Scheduling alarms with AlarmManager
As we said before, all the alarm operations are managed through the singleton object AlarmManager
, an Android global system service that can be retrieved by any class with access to a Context
instance. As an example, in an Activity
we can get the AlarmManager
from any member method by using the following code:
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
Once we have a reference to the AlarmManager
, we can schedule an alarm to deliver a PendingIntent
object to a Service
, an Activity
or BroadcastReceiver
, at a time of our choosing. The simplest way to do that is using the set
method:
void set(int type, long triggerAtMillis, PendingIntent operation)
When we set an alarm, we must also specify a type
flag—the first parameter to the set
method. The type
flag sets the conditions under which the alarm should fire and which clock to use for our schedule.
There are two conditions and two clocks, resulting in four possible type
settings.
The first...