Как очистить Android Notification PendingIntent

У меня есть действие, которое создает тревогу. Тревога вызывает широковещательный приемник. При получении я создаю уведомление с дополнениями из действия (идентификатор, заголовок, содержимое). Тревога срабатывает, а приемник широковещательной рассылки создает уведомление.

Но когда я повторно устанавливаю приложение или устанавливаю более новую версию и настраиваю новый будильник с новым заголовком и содержимым, приемник показывает мне первое намерение создания уведомления. я могу создать, может ли тревога запускать все работы, но они всегда показывают первые намерения создания уведомлений.

Я использую внутренний счетчик приложений для создания идентификатора уведомления

public class CollectApplication extends Application {

private Integer reminderCount;

@Override
public void onCreate() {
reminderCount = 1;
super.onCreate();
}

public Integer getReminderCount() {
return reminderCount;
}

public void setReminderCount(Integer reminderCount) {
this.reminderCount = reminderCount;
}
}

Конечно, после повторной установки или обновления приложения счетчик начинается с 1. Но я создаю новое намерение с тем же идентификатором 1, поэтому я переопределяю его, верно?

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

Или я должен сохранить текущий идентификатор в общих настройках?


person Андрей    schedule 26.03.2012    source источник


Ответы (2)


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

Используйте FLAG_UPDATE_CURRENT при создании PendingIntent для нового Notification.

Или я должен сохранить текущий идентификатор в общих настройках?

Нет, потому что у вас должен быть только один идентификатор. Однако вы можете сохранить счетчик напоминаний.

person CommonsWare    schedule 26.03.2012

-> Просто добавьте PendingIntent.FLAG_UPDATE_CURRENT

Пример:

PendingIntent pendingIntent = PendingIntent.getActivity(это, 0, намерение, PendingIntent.FLAG_UPDATE_CURRENT);

person Hantash Nadeem    schedule 21.05.2017