Android - 为什么不取消重复闹钟?

时间:2014-03-30 00:12:05

标签: android alarmmanager broadcast repeat

我设置了一个重复闹钟,它运行正常,问题只是取消重复闹钟,我可以取消触发器但是当我设置时间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);
}

0 个答案:

没有答案