我设置了一个重复闹钟,它运行正常,问题只是取消重复闹钟,我可以取消触发器但是当我设置时间24小时将来它给我带来了一个错误。我知道Intent必须是相同的(但是我读到额外的东西并不一定很重要)。这是我使用的代码:
public void setAlarm(Context context) {
Intent intentBroadCast = new Intent(context, AlarmReceiver.class);
intentBroadCast.putExtra(ID, entry.getC());// /Id setzten auf vektor von
// zugehoerigen Checkbox
intentBroadCast.putExtra(OPTION, entry.getSelectedOption(entry.getC()));// /Option
// die
// gewaehlt
// wurde
// mit
// alarm
// uebergeben
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, entry.getC(),// /Requestcode um meherere
intentBroadCast,
0); // /"einzigartige Alarme zu
// erstellen Alarm
AlarmManager alarmManager = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);// /AlarmManager
// erzeugen
alarmManager
.setRepeating(AlarmManager.RTC_WAKEUP,
entry.getTime(entry.getC()), 1000 * 60 * 60 * 24,
pendingIntent);// /alle 24h wiederholen solang nicht
// abgeschaltet
}
public void cancelAlarm(Context context) {
Intent intentBroadCast = new Intent(context, AlarmReceiver.class);
intentBroadCast.putExtra(ID, entry.getC());// /Id setzten auf vektor von
// zugehoerigen Checkbox
intentBroadCast.putExtra(OPTION, entry.getSelectedOption(entry.getC()));// /Option
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, entry.getC(),
intentBroadCast, 0);
AlarmManager alarmManager = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);// /AlarmManager
// erzeugen
alarmManager.cancel(pendingIntent);
}