constructor
Şöyle
yaparız.
AlarmManager am = (AlarmManager)getSystemService(Activity.ALARM_SERVICE);
INTERVAL_DAY Alanı
Şöyle
yaparız. Bir günün milisaniye cinsinden uzunluğudur.
AlarmManager.INTERVAL_DAY;
Şöyle
yaparız.
Date date = ...;
PendingIntent intent = ...;
am.setRepeating(AlarmManager.RTC_WAKEUP, date,AlarmManager.INTERVAL_DAY, intent);
setExact metodu
Şöyle
yaparız.
PendingIntent pendingIntent = ...;
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 20);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
am.setExact(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
} else {
am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
}
setRepeating metodu
İkinci parametre alarmın ne zamandan itibaren çalışacağını belirtir. Üçüncü parametre (interval) milisaniye cinsindendir ve çalışma aralığını belirtir.
Örnek 1
Alarmın hemen başlayarak 23 saatte bir tekrar etmesi için şöyle
yaparız.
PendingIntent pendingIntent = ...;
am.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(),
23 * 60 * 60 * 1000,pendingIntent);
Örnek 2
Alarmın saat 6'da başlayarak 24 saatte bir tekrar etmesi için şöyle
yaparız. Önce bugünün saat 6'sını ayarlarız.
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 6);
calendar.set(Calendar.MINUTE, 0);
int interval = 1000 * 60 * 60 * 24;
Sonra alarmı kurarız
//Repeating on every 24 hours interval
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
AlarmManager.INTERVAL_DAY
, pendingIntent
);