In der Dokumentation zu Diensten im Vordergrund wird das aktuelle Verhalten von Android-Diensten im Vordergrund beschrieben. Die Dokumentation enthält Best Practices für die meisten Apps, unabhängig davon, ob sie auf die neueste Android-Version ausgerichtet sind oder nicht.
Auf dieser Seite werden einige der wichtigsten Änderungen an Diensten im Vordergrund und die Auswirkungen auf Apps beschrieben, die nicht auf die neueste Version der Android-Plattform ausgerichtet sind. In vielen Fällen werden Best Practices, die für Apps mit Ausrichtung auf niedrigere API-Ebenen optional waren, für Apps mit Ausrichtung auf höhere API-Ebenen obligatorisch.
Android 9 (API-Level 28)
Mit Android 9 wurde die Berechtigung FOREGROUND_SERVICE
eingeführt. Apps, die unter Android 9 ausgeführt werden und Dienste im Vordergrund verwenden, müssen diese Berechtigung haben.
Wenn eine App, die auf API-Level 28 oder höher ausgerichtet ist, versucht, einen Dienst im Vordergrund zu erstellen, ohne die Berechtigung FOREGROUND_SERVICE
anzufordern, löst das System eine SecurityException
aus.
Android 10 (API-Level 29)
Die folgenden Anforderungen gelten für Apps, die auf API-Level 29 oder höher ausgerichtet sind:
- Wenn die Dienste im Vordergrund einer App Standortinformationen verwenden, muss die App den Dienst mit dem Diensttyp
location
deklarieren.
Android 11 (API-Level 30)
Die folgenden Anforderungen gelten für Apps, die auf API-Level 30 oder höher ausgerichtet sind:
- Wenn die Dienste im Vordergrund einer App die Kamera oder das Mikrofon verwenden, muss die App den Dienst mit dem Diensttyp
camera
bzw.microphone
deklarieren.
Android 12 (API-Level 31)
Für Apps, die auf API-Level 31 oder höher ausgerichtet sind, gelten die folgenden Anforderungen:
- Apps dürfen mit wenigen Ausnahmen keine Dienste im Vordergrund starten, während die App im Hintergrund ausgeführt wird. Weitere Informationen und Informationen zu den Ausnahmen von dieser Regel finden Sie unter Einschränkungen beim Starten eines Dienstes im Vordergrund aus dem Hintergrund.
Android 14 (API-Level 34)
Die folgenden Anforderungen gelten für Apps, die auf API-Level 34 oder höher ausgerichtet sind:
- Sie müssen alle Dienste im Vordergrund mit ihren Diensttypen deklarieren.
- Apps müssen den entsprechenden Berechtigungstyp für die Art der Arbeit anfordern, die der Dienst im Vordergrund ausführen wird. Jeder Typ von Dienst im Vordergrund hat einen entsprechenden Berechtigungstyp. Wenn eine App beispielsweise einen Dienst im Vordergrund startet, der die Kamera verwendet, müssen Sie sowohl die Berechtigung
FOREGROUND_SERVICE
als auch die BerechtigungFOREGROUND_SERVICE_CAMERA
anfordern. Wenn eine App auf API-Level 34 oder höher ausgerichtet ist und die entsprechende Berechtigung nicht anfordert, gibt das System eineSecurityException
zurück.
Android 15 (API-Level 35)
Die folgenden Anforderungen gelten für Apps, die auf API-Level 35 oder höher ausgerichtet sind:
- Es gibt neue Einschränkungen für die Dauer, wie lange ein
dataSync
-Dienst im Vordergrund ausgeführt werden kann. Diese Einschränkungen werden unter Zeitüberschreitungsverhalten von Diensten im Vordergrund beschrieben. Ähnliche Einschränkungen gelten für den DiensttypmediaProcessing
, der in Android 15 eingeführt wurde. BOOT_COMPLETED
Dienste im Vordergrund dürfen bestimmte Dienste im Vordergrund nicht mehr starten.- Apps mit der Berechtigung
SYSTEM_ALERT_WINDOW
dürfen Dienste im Vordergrund nur dann aus dem Hintergrund starten, wenn sie derzeit ein sichtbares Overlay-Fenster haben (oder wenn einer der anderen Ausnahmen von den Einschränkungen für den Start im Hintergrund erfüllt ist). Bisher war die Ausnahme für diese Apps weiter gefasst.