Как изменить содержание уведомления, не создавая его заново? - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть уведомление, которое периодически обновляется по истечении определенного периода времени. С ним также связан сервис Foreground, поэтому он постоянно отображается. При обновлении данных я должен заново создать уведомление с новыми, используя NotificationManager

    NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

    notification.setContentText("Updated Text");
    notificationManager.notify(NOTIFY_ID, notification.build());

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

Можно ли сделать так, чтобы данные обновлялись уже в существующем уведомлении, без необходимости его воссоздания? Например, как это сделать в погодном приложении, где данные регулярно обновляются непосредственно в текущем уведомлении: Виджет уведомлений

Редактировать

Я прошу прощения за мою неточность. Как оказалось, я меняю старое уведомление, спасибо @ 0X0nosugar за подсказку. Я использую тот же идентификатор для обновления уведомлений, но каждую секунду я получаю звук и вибрацию, а также непрерывное сообщение на экране блокировки, что у меня новое уведомление. Хотя я не получаю новые, я изменяю прежнее уведомление.

На экран блокировки постоянно приходит уведомление из моего приложения. Однако этого не наблюдается в приложении погоды. И я получил это

1 Ответ

0 голосов
/ 05 февраля 2020

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

Итак, используйте stati c nofiy_id (например, определенный в ваших строках. xml) и Назовите это.

Или просто используйте это так:

notificationManager.notify(0, notification.build());
...