J'ai 2 alarmes. J'utilise l'intention avec des extras au lieu de l'action pour identifier les événements:
Intent i = new Intent(context, AppReciever.class);
i.putExtra("timer", "timer1");
le fait est qu'avec les extras diff, l'intention (et l'alarme) ne sera pas unique. Donc pour pouvoir identifier quelle alarme est active ou non, j'ai dû définir des diff requestCode
-s:
boolean alarmUp = (PendingIntent.getBroadcast(context, MyApp.TIMER_1, i,
PendingIntent.FLAG_NO_CREATE) != null);
et voici comment l'alarme a été créée:
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);