Tôi có 2 báo động. Tôi đang sử dụng ý định với các tính năng bổ sung thay vì hành động để xác định các sự kiện:
Intent i = new Intent(context, AppReciever.class);
i.putExtra("timer", "timer1");
điều này là với các tính năng bổ sung khác, ý định (và báo động) sẽ không phải là duy nhất. Vì vậy, để có thể xác định cảnh báo nào đang hoạt động hay không, tôi phải xác định diff requestCode
-s:
boolean alarmUp = (PendingIntent.getBroadcast(context, MyApp.TIMER_1, i,
PendingIntent.FLAG_NO_CREATE) != null);
và đây là cách báo thức được tạo ra:
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);