¿Cómo puedo eliminar una notificación de primer plano en Android Lollipop?
Estoy buscando para detener / descartar una notificación de primer plano para un servicio para un reproductor de medios, muy similar a la implementación de Google para Google Music.
Por ejemplo, en Google Music, si está reproduciendo música, entonces la notificación no se puede borrar. Sin embargo, si usted pausa la música que puede.
- ¿Por qué obtengo una InstantiationException si intento iniciar un servicio?
- ¿Debería extender la clase Binder o usar un Messenger?
- Cómo obtener el comportamiento del usuario en el teléfono Android (Historial de aplicaciones, Historial de exploraciones, etc.)
- El archivo Dex superó los 64 KB después de agregar Google Play Services.
- ¿Puede existir un servicio de fondo sin su aplicación principal?
Esto es completamente diferente a cómo se implementa en Android 4.4, donde la notificación se inicia sólo cuando abandona la aplicación y se elimina cuando vuelve a la aplicación. No puedo ver cómo implementar esto ya sea teniendo en cuenta los requisitos de un servicio para tener una notificación.
Cualquier ayuda sería muy apreciada.
- Cómo poner un oyente onclick dentro de un servicio
- ¿Abre la aplicación de Android enviando un mensaje de texto?
- El servicio de fondo de Android se está reiniciando cuando se cancela la aplicación
- Servicio, WakeLock
- No se puede iniciar el temporizador en un servicio en android
- Android: pasa el objeto de la actividad al servicio
- Samsung inhabilita paquetes
- El servicio de inicio de Android nunca empieza
¿Cómo puedo eliminar una notificación de primer plano en Android Lollipop?
Puede eliminar su propia Notification
primer plano llamando a stopForeground()
de su Service
que se llama startForeground()
.
Por ejemplo, en Google Music, si está reproduciendo música, entonces la notificación no se puede borrar. Sin embargo, si usted pausa la música que puede.
Presumiblemente, están actualizando el valor setOngoing()
para la Notification
función de si la música está o no en reproducción.
También puede eliminar la notificación de una manera difícil:
- Iniciar el primer servicio con
startForeground(1, new Notification());
- Iniciar el segundo servicio con
startForeground(1, new Notification());
Y deje de hacerlo inmediatamente
Como resultado, el primer servicio sigue funcionando en primer plano, pero la notificación se ha ido gracias a la detención del segundo servicio. Lo he encontrado por accidente :).
- Creación de OnClickListener personalizado
- Cómo configurar el adaptador para searchview en la barra de acciones