Я пытаюсь отменить будильник с помощью AlarmManager.cancel(), но, видимо, он не работает. Я где-то читал, что должен использовать PendingIntent.FLAG_UPDATE_CURRENT, который, как видно из кода, является тем, что я использовал. При настройке будильника я хочу, чтобы программа автоматически настраивала будильник, используя код, а следовательно, и код ниже.Удалить сигнал тревоги с помощью AlarmManager.cancel() не работает
setAlarm Функция:
public void setAlarm(DateTime date, String message) {
Intent i = new Intent(AlarmClock.ACTION_SET_ALARM);
i.putExtra(AlarmClock.EXTRA_MESSAGE, message);
i.putExtra(AlarmClock.EXTRA_HOUR, date.getHourOfDay());
i.putExtra(AlarmClock.EXTRA_MINUTES, date.getMinuteOfHour());
i.putExtra(AlarmClock.EXTRA_SKIP_UI, true);
PendingIntent pendingIntent = PendingIntent.getActivity(appContext.getApplicationContext(), 0, i, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager manager = (AlarmManager) appContext.getApplicationContext().getSystemService(Context.ALARM_SERVICE);
manager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), pendingIntent);
return;
}
cancelAlarm Функция:
public void cancelAlarm(DateTime date, String message) {
Intent i = new Intent(AlarmClock.ACTION_SET_ALARM);
i.putExtra(AlarmClock.EXTRA_MESSAGE, message);
i.putExtra(AlarmClock.EXTRA_HOUR, date.getHourOfDay());
i.putExtra(AlarmClock.EXTRA_MINUTES, date.getMinuteOfHour());
i.putExtra(AlarmClock.EXTRA_SKIP_UI, true);
PendingIntent pendingIntent = PendingIntent.getActivity(appContext.getApplicationContext(), 0, i, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager manager = (AlarmManager) appContext.getApplicationContext().getSystemService(Context.ALARM_SERVICE);
manager.cancel(pendingIntent);
return;
}
Любые идеи? Я в конце своего ума. Заранее спасибо!
имеет смысл, я дам ему еще один ход! Большое спасибо! –