Как убрать уведомление в Android - PullRequest
91 голосов
/ 19 апреля 2010

Можно ли очистить уведомление программно?

Я пробовал с NotificationManager, но он не работает. Есть ли другой способ, которым я могу это сделать?

Ответы [ 12 ]

0 голосов
/ 17 августа 2018

Все уведомления (даже уведомления других приложений) можно удалить, прослушивая «NotificationListenerService», как указано в Реализация NotificationListenerService

В сервисе нужно звонить cancelAllNotifications().

Служба должна быть включена для вашего приложения через:

«Приложения и уведомления» -> «Доступ к специальным приложениям» -> «Доступ к уведомлениям».

0 голосов
/ 09 октября 2015

Если вы генерируете Уведомление из Службы, которая запускается на переднем плане с использованием

startForeground(NOTIFICATION_ID, notificationBuilder.build());

Тогда выдача

notificationManager.cancel(NOTIFICATION_ID);

не приводит к отмене уведомления, а уведомление по-прежнему отображается в строке состояния. В этом конкретном случае вам нужно будет выдать

stopForeground( true );

изнутри сервиса, чтобы вернуть его в фоновый режим и одновременно отменить уведомления. Кроме того, вы можете отодвинуть его в фоновый режим, не отменяя уведомление, а затем отменить уведомление.

stopForeground( false );
notificationManager.cancel(NOTIFICATION_ID);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...