Как сбросить номер менеджера уведомлений при уведомлении - PullRequest
6 голосов
/ 05 июля 2010

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

   NotificationManager notification
    .
    .
    .
    notification.flags |= Notification.FLAG_AUTO_CANCEL;
    notification.number++;
    nm.notify(1,notification);

Но что бы я ни делал, Notification.number продолжает расти и никогда не сбрасывается до 0.

Ответы [ 2 ]

2 голосов
/ 05 июля 2010

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

Таким образом, цепочка будет

Уведомление --starts--> Посредническая деятельность --starts -> Встроенная деятельность

0 голосов
/ 29 декабря 2013

Я использую комбинацию того, что рекомендует @CommonsWare, и расширяю объект приложения, как здесь Как обновить номер уведомления .

Изменить: Дальнейшее тестирование показывает, что на самом деле это не работает, потому что BroadcastReceiver вызывается при каждом уведомлении и потому, что он сбрасывает номер в каждом уведомлении, номер никогда не является правильным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...