Несколько уведомлений об одной и той же активности - PullRequest
38 голосов
/ 20 мая 2011

У меня есть действие, которое открывается из панели уведомлений, но когда я делаю NotificationManager.notify(...), я даю намерению другой пакет, так что каждое уведомление открывает ту же самую активность, но получает из БД другуюдруг друга.

Но когда я пытаюсь войти в какое-либо из уведомлений (например, есть 3 уведомления), они все отправляют меня в действие с тем же пакетом, что и последний.Попробовав несколько флагов, я действительно не знаю, в чем проблема (некоторые флаги заставляют уведомление входить в действие с первым пакетом).* учебник .

1 Ответ

106 голосов
/ 20 мая 2011

Если PendingIntent имеет ту же операцию, действие, данные, категории, компоненты и флаги, он будет заменен.

В зависимости от ситуации я обычно решаю эту проблему, предоставляя уникальный код запроса в виде статических значений (0,1,2) или идентификатора строки данных, которые я получаю из БД.

PendingIntent.getActivity(context, MY_UNIQUE_VALUE , notificationIntent, PendingIntent.FLAG_ONE_SHOT);

Затем я использую то же уникальное значение для notify (), что и

mNotificationManager.notify(MY_UNIQUE_VALUE, notification);
...