2012-03-29 22 views
6

Service.startForeground() vs NotificationManager.notify(), dar diferentes comportamientos.Android Service.startForeground no respeta Identificación notificación singularidad

Al utilizar notificar con dos identificadores de notificación diferentes, 2 notificaciones se crean - Buena.

Al hacer lo mismo con startForground, una notificación anula el otro - Malo.

dispositivo Probado: Nexus S (2.3.6) y Asus Transformer (4.0.3).

Alguna idea de cómo puedo ejecutar un servicio importante (en primer plano) que puede tener varios números (dinámico) las notificaciones?

+0

sucede en el transformador de Asus (Android 4.0.3) también. –

+0

abierto una cuestión: http://code.google.com/p/android/issues/detail?id=28011 –

Respuesta

0

Bueno, no es la mejor solución, pero siempre se puede simplemente "reasignar" una notificación a un identificador de notificación despedidos. Por ejemplo, supongamos que inicia el Proceso 1 (primer plano) y luego el Proceso 2 (usando el Administrador de notificaciones). Cuando el proceso 1 extremos, deseche la notificación de proceso 2 y actualizar la notificación de primer plano para el Proceso 1 a realidad ahora mostrar el progreso de Proceso 2.

De esa manera usted no tiene que llamar y stopForeground()startForeground(), lo que puede permitir la servicio que se matará en el medio (sin embargo, no se ha verificado que sea cierto).

+0

Vaskevich, lo que si un solo proceso solo está involucrado en este contexto? ¿Y puede explicar detalladamente la reasignación de la notificación para desestimar ...? – nmxprime

+0

Entiendo que no importa, ya que cuando llamas a 'stopForeground()', Android ahora puede matar tu servicio. Siento que elaboré lo suficiente; por favor, ¡vuelve a leer la segunda oración varias veces! –

Cuestiones relacionadas