2 alarmım var. Olayları tanımlamak için eylem yerine ekstralar ile niyet kullanıyorum:
Intent i = new Intent(context, AppReciever.class);
i.putExtra("timer", "timer1");
şey, fark ekstraları ile niyet (ve alarm) benzersiz olmayacak olmasıdır. Hangi alarmın aktif olup olmadığını belirlemek için diff requestCode
-s tanımlamak zorunda kaldım :
boolean alarmUp = (PendingIntent.getBroadcast(context, MyApp.TIMER_1, i,
PendingIntent.FLAG_NO_CREATE) != null);
ve alarm şu şekilde oluşturuldu:
public static final int TIMER_1 = 1;
public static final int TIMER_2 = 2;
PendingIntent pending = PendingIntent.getBroadcast(context, TIMER_1, i,
PendingIntent.FLAG_CANCEL_CURRENT);
setInexactRepeating(AlarmManager.RTC_WAKEUP,
cal.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pending);
pending = PendingIntent.getBroadcast(context, TIMER_2, i,
PendingIntent.FLAG_CANCEL_CURRENT);
setInexactRepeating(AlarmManager.RTC_WAKEUP,
cal.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pending);