¿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.

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 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 :).

  • Cómo detener un IntentService?
  • ¿Es mala práctica usar múltiples servicios de fondo en una sola aplicación para Android?
  • Lidiando con la intención implícita en la depreciación futura en Lollipop
  • La mejor manera de enviar actualizaciones de ubicación de usuario al servidor en segundo plano (Android)
  • Android: stopService () no llama a onDestroy ()!
  • Ayúdame a usar correctamente los Servicios y los Hilos
  • La localización de la ubicación de Android en Service no funciona hasta que reactive WiFi / mobile network
  • La notificación sigue en la barra después de matar al servicio
  • AlarmManager dentro de BroadcastReceiver cuando BOOT_COMPLETED
  • Android: ¿puedo usar Google Analytics dentro de un servicio?
  • Android: NullPointerException en android.app.ActivityThread $ PackageInfo $ ServiceDispatcher.doConnected (ActivityThread.java:1012)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.