"Some sample code" is not that easy when it comes to AlarmManager
.
Here is a snippet showing the setup of AlarmManager
:
AlarmManager mgr=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent i=new Intent(context, OnAlarmReceiver.class);
PendingIntent pi=PendingIntent.getBroadcast(context, 0, i, 0);
mgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), PERIOD, pi);
In this example, I am using setRepeating()
. If you want a one-shot alarm, you would just use set()
. Be sure to give the time for the alarm to start in the same time base as you use in the initial parameter to set()
. In my example above, I am using AlarmManager.ELAPSED_REALTIME_WAKEUP
, so my time base is SystemClock.elapsedRealtime()
.
This snippet is from a larger sample AlarmManager
example you can download from:
http://commonsware.com/AdvAndroid/
Note, though, that I will be updating that example in a few days, as a reader has pointed out a bug -- not in the AlarmManager
usage itself, but in the service that does (simulated) work based on the alarm going off.