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 Vordergrunddienst auf dieselbe Weise beenden wie jeden anderen Dienst. Der Dienst kann seine eigene stopSelf()
-Methode 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 Benachrichtigung entfernt.
Um einen Dienst aus dem Vordergrund zu entfernen, rufen Sie stopForeground(int)
innerhalb des Dienstes auf. Diese Methode verwendet einen booleschen Wert, der angibt, ob auch die Benachrichtigung in der Statusleiste entfernt werden soll. Der Dienst wird weiterhin ausgeführt, aber nicht mehr als Dienst im Vordergrund.