Einen Dienst im Vordergrund beenden

Wenn Sie möchten, dass ein Dienst im Vordergrund nicht mehr im Vordergrund ausgeführt wird, haben Sie zwei Möglichkeiten. Sie können den Dienst beenden oder ihn weiter ausführen, aber aus dem Vordergrund entfernen.

Sie können einen Dienst im Vordergrund auf dieselbe Weise 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 beenden, 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(int) im Dienst auf. Diese Methode verwendet einen booleschen Wert, der angibt, ob auch die Benachrichtigung in der Statusleiste entfernt werden soll. Der Dienst wird weiter ausgeführt, ist aber kein Dienst im Vordergrund mehr.