2015-01-18 6 views
0

Мое маленькое приложение отправляет некоторые уведомления. Мы получаем обратный вызов через Pendingintent при нажатии на уведомление. Однако, когда уведомление просто удаляется без нажатия, я не получаю никакого уведомления и, следовательно, не знаю, было ли уведомление удалено пользователем.Как узнать, отменено ли уведомление?

Моя конечная цель - ограничить количество активных уведомлений, отправленных моим приложением, не более 3. Но я не смог найти способ перечислить или просто получить количество активных уведомлений, отправленных моим приложением , Количество методов, доступных в NotificationManager, довольно ограничено.

Любая помощь будет оценена по достоинству.

+0

http://developer.android.com/reference/android/service/notification/NotificationListenerService.html – tyczj

ответ

1

Вы можете установить PendingIntent с setDeleteIntent(), который будет вызываться, когда уведомление будет удалено из лотка уведомлений (например, когда пользователь проведет его, чтобы отменить его).

Обратите внимание, что notification design guidelines состояние:

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

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

Т.е., не делайте этого: Don't do this

ли это (в данном примере используется InboxStyle уведомление, как рекомендуется): Do this: stack notifications

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

+0

Большое спасибо. Именно то, что мне нужно! –

0

метод «Notification.deleteIntent», который вы можете использовать для установки PendingIntent, который будет удален извещения системой, и вы можете сделать что-то нужное.

+0

Могли бы вы быть модой? –

Смежные вопросы