Se você quiser que um serviço em primeiro plano pare de ser executado, há duas opções. É possível interromper o serviço ou deixá-lo em execução, mas removê-lo do primeiro plano.
Você pode interromper um serviço em primeiro plano
da mesma forma que interromperia qualquer serviço. O serviço pode
chamar o próprio stopSelf() método ou outro componente pode interrompê-lo
chamando stopService(). Se você interromper o serviço enquanto ele estiver em execução
em primeiro plano, a notificação será removida.
Para remover um serviço do primeiro plano, chame
stopForeground(int)
de dentro do serviço. Esse método usa um booleano, que indica se a
notificação da barra de status também precisa ser removida. O serviço continua sendo executado, mas
não é mais um serviço em primeiro plano.