Как отменить это предупреждение повторения?

Я пишу что-то как напоминание для пользователей. Пользователи установят напоминания для своих событий, когда время настанет, повторяющийся будильник будет поставлен для инициирования уведомления о строке состояния. Но предупреждение кажется безостановочным после того, как я выбрал уведомление или очистил уведомление. Я не уверен, где отменить это предупреждение повторения. Ниже некоторые коды: Настройте повторяющееся предупреждение в моем основном виде деятельности

alarmTime = Calendar.getInstance();
Intent intent = new Intent(this, AlarmReceive.class);
PendingIntent sender = PendingIntent.getBroadcast(this, 0, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);

alarmTime.add(Calendar.MINUTE,offset_time);

//Schedule the alarm
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime.getTimeInMillis(), 30 * 1000, sender);

В моем методе OnReceive я просто отображаю уведомление в строке состояния и устанавливаю флаг как FLAG_AUTO_CANCEL

manager = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);

// Set the icon, scrolling text and timestamp
Notification notification = new Notification(R.drawable.medical, text, System.currentTimeMillis());

PendingIntent contentIntent = PendingIntent.getActivity(context, 0, i, 0);

notification.flags = Notification.FLAG_AUTO_CANCEL;

manager.notify(R.string.service_text, notification);

Как я могу остановить предупреждение, когда пользователь выбирает уведомление или очищает его?

34
задан Alexis Pigeon 10 December 2013 в 12:29
поделиться

1 ответ

Вызов cancel() на AlarmManager с эквивалентным PendingIntent тому, который вы использовали в setRepeating():

Intent intent = new Intent(this, AlarmReceive.class);
PendingIntent sender = PendingIntent.getBroadcast(this, 0, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);

alarmManager.cancel(sender);
79
ответ дан 27 November 2019 в 16:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: