Wenn Sie nicht möchten, dass ein Dienst im Vordergrund ausgeführt wird, haben Sie zwei Möglichkeiten. Sie können den Dienst anhalten oder ihn laufen lassen, aber aus dem Vordergrund entfernen.
Sie können einen Dienst im Vordergrund genauso beenden wie jeden anderen Dienst. Der Dienst kann seine eigene Methode stopSelf()
aufrufen oder eine andere Komponente kann ihn durch Aufrufen von stopService()
beenden. Wenn Sie den Dienst anhalten, während er im Vordergrund ausgeführt wird, wird die zugehörige Benachrichtigung entfernt.
Wenn Sie einen Dienst aus dem Vordergrund entfernen möchten, rufen Sie stopForeground()
aus dem Dienst heraus auf. Diese Methode nimmt einen booleschen Wert an, der angibt, ob auch die Benachrichtigung in der Statusleiste entfernt werden soll. Der Dienst wird weiterhin ausgeführt, ist aber kein Dienst im Vordergrund mehr.