Cómo detener un servicio en primer plano

Si deseas que un servicio en primer plano deje de ejecutarse en primer plano, tienes dos opciones. Puedes detener el servicio o dejarlo en ejecución, pero quitarlo del primer plano.

Puedes detener un servicio en primer plano de la misma manera que detendrías cualquier servicio. El servicio puede llamar a su propio método stopSelf(), o bien otro componente puede detenerlo llamando a stopService(). Si detienes el servicio mientras se ejecuta en primer plano, se quitará su notificación.

Para quitar un servicio del primer plano, llama a stopForeground() desde dentro del servicio. Este método tiene un valor booleano que indica si también se debe quitar la notificación de la barra de estado. El servicio seguirá ejecutándose, pero ya no será un servicio en primer plano.