Änderungen an Diensten im Vordergrund

In der Dokumentation zu Diensten im Vordergrund wird das aktuelle Verhalten von Android-Vordergrunddiensten beschrieben. Die Dokumentation enthält Best Practices für die meisten Apps, unabhängig davon, ob sie auf die neueste Android-Version ausgerichtet sind.

Auf dieser Seite werden einige der wichtigsten Änderungen an Vordergrunddiensten beschrieben, die in letzter Zeit vorgenommen wurden, sowie die Auswirkungen auf Apps, die nicht auf die neueste Version der Android-Plattform ausgerichtet sind. In vielen Fällen werden Best Practices, die für Apps mit niedrigeren API-Levels optional waren, für Apps mit höheren API-Levels obligatorisch.

Android 16 (API-Level 36)

Die folgenden Änderungen gelten für Apps, die unter Android 16 oder höher ausgeführt werden, unabhängig davon, auf welches API-Level sie ausgerichtet sind:

  • Hintergrundjobs, die von einem Dienst im Vordergrund gestartet werden, müssen jetzt die entsprechenden Laufzeitkontingente einhalten. Dazu gehören Jobs, die direkt mit JobScheduler geplant wurden, sowie Jobs, die von anderen Bibliotheken wie WorkManager oder DownloadManager erstellt wurden.

    Wenn Sie Daten als Reaktion auf eine Nutzeraktion übertragen möchten, sollten Sie einen vom Nutzer initiierten Datenübertragungsjob verwenden. Diese Jobs sind von den normalen Jobkontingenten ausgenommen.

Android 15 (API-Level 35)

Die folgenden Anforderungen gelten für Apps, die auf API-Level 35 oder höher ausgerichtet sind:

Android 14 (API‑Level 34)

Für Apps, die auf API-Level 34 oder höher ausgerichtet sind, gelten die folgenden Anforderungen:

Android 12 (API-Level 31)

Die folgenden Anforderungen gelten für Apps, die auf API-Level 31 oder höher ausgerichtet sind:

Android 11 (API-Level 30)

Für Apps, die auf API-Level 30 oder höher ausgerichtet sind, gelten die folgenden Anforderungen:

  • 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 10 (API-Level 29)

Die folgenden Anforderungen gelten für Apps, die auf API‑Level 29 oder höher ausgerichtet sind:

  • Wenn in den Diensten im Vordergrund einer App Standortinformationen verwendet werden, muss die App den Dienst mit dem Diensttyp location deklarieren.

Android 9 (API-Level 28)

In Android 9 wird 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.