Android Service.startForeground НЕ учитывает уникальность идентификатора уведомления - PullRequest
6 голосов
/ 29 марта 2012

Service.startForeground () против NotificationManager.notify () , задайте другое поведение.

При использовании notify с двумя разными уведомлениямиидентификаторы, создаются 2 уведомления - Хорошо .

Когда вы делаете то же самое с startForground , одно уведомление переопределяет другое - Плохо .

Протестированное устройство: Nexus S (2.3.6) и Asus Transformer (4.0.3).

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

1 Ответ

0 голосов
/ 13 июня 2013

Что ж, это не лучшее решение, но вы всегда можете просто «переназначить» уведомление на отклоненный идентификатор уведомления.Например, допустим, вы запускаете процесс 1 (на первом плане), а затем процесс 2 (с помощью NotificationManager).Когда процесс 1 завершается, отклоните уведомление для процесса 2 и обновите уведомление переднего плана для процесса 1, чтобы теперь фактически отображать ход процесса 2.

Таким образом, вам не нужно вызывать stopForeground() и startForeground(), что может привести к прерыванию службы (хотя на самом деле не проверено, что это правда).

...