Mit Android 15 nehmen wir die folgenden Änderungen an den Typen von Diensten im Vordergrund vor.
Medien werden verarbeitet.
- Typ des Dienstes im Vordergrund, der im Manifest deklariert werden soll unter
android:foregroundServiceType
mediaProcessing
- Deklarierungsberechtigung im Manifest
FOREGROUND_SERVICE_MEDIA_PROCESSING
- Konstante zur Übergabe an
startForeground()
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
- Laufzeitvoraussetzungen
- Keine
- Beschreibung
Dienst für zeitaufwendige Vorgänge wie die Umwandlung von Medien in verschiedene Formate mit Medien-Assets Das System lässt die Ausführung dieses Dienstes für eine begrenzte Zeit zu. Unter normalen Umständen beträgt dieses Zeitlimit 6 Stunden von jeweils 24 Stunden. Dieses Limit gilt für alle
mediaProcessing
-Dienste im Vordergrund einer App.Ihre Anwendung sollte den Medienverarbeitungsdienst im folgenden Szenario manuell beenden:
- Wenn der Transcodierungsvorgang abgeschlossen ist oder einen Fehlerstatus erreicht, lassen Sie den Dienst
Service.stopForeground()
undService.stopSelf()
aufrufen, um den Dienst vollständig zu beenden.
- Wenn der Transcodierungsvorgang abgeschlossen ist oder einen Fehlerstatus erreicht, lassen Sie den Dienst
Wenn das Zeitlimit erreicht ist, ruft das System die Methode
Service.onTimeout(int, int)
des Dienstes auf. Derzeit hat der Dienst einige Sekunden Zeit,Service.stopSelf()
aufzurufen. Wenn der DienstService.stopSelf()
nicht aufruft, tritt ein ANR-Fehler mit der folgenden Fehlermeldung auf: „A Vorwärtsdienst von <fgs_type> wurde nicht innerhalb des Zeitlimits beendet: <component_name>“.Hinweis:
Service.onTimeout(int, int)
ist für Android 14 oder niedriger nicht verfügbar. Auf Geräten mit diesen Versionen speichert das System die App sofort im Cache, wenn ein Medienverarbeitungsdienst das Zeitlimit erreicht. Aus diesem Grund sollte Ihre App nicht auf eine Zeitüberschreitungsbenachrichtigung warten. Stattdessen sollte er so schnell wie angemessen den Dienst im Vordergrund beenden oder zu einem Hintergrunddienst wechseln.
Kamera
Bei Apps, die auf Android 15 oder höher ausgerichtet sind, darf kein Dienst im Vordergrund der Kamera über einen BOOT_COMPLETED
-Broadcast-Empfänger gestartet werden.
Weitere Informationen finden Sie unter Einschränkungen für BOOT_COMPLETED
-Broadcast-Empfänger, die Dienste im Vordergrund starten.
Datensynchronisierung
Apps, die auf Android 15 oder höher ausgerichtet sind, dürfen keinen Dienst für die Datensynchronisierung im Vordergrund über einen BOOT_COMPLETED
-Broadcast-Empfänger starten.
Weitere Informationen finden Sie unter Einschränkungen für BOOT_COMPLETED
-Broadcast-Empfänger, die Dienste im Vordergrund starten.
Medienwiedergabe
Apps, die auf Android 15 oder höher ausgerichtet sind, dürfen keinen Dienst für die Medienwiedergabe im Vordergrund über einen BOOT_COMPLETED
-Broadcast-Empfänger starten.
Weitere Informationen finden Sie unter Einschränkungen für BOOT_COMPLETED
-Broadcast-Empfänger, die Dienste im Vordergrund starten.
Medienprojektion
Apps, die auf Android 15 oder höher ausgerichtet sind, dürfen keinen Dienst für die Medienprojektion im Vordergrund über einen BOOT_COMPLETED
-Broadcast-Empfänger starten.
Weitere Informationen finden Sie unter Einschränkungen für BOOT_COMPLETED
-Broadcast-Empfänger, die Dienste im Vordergrund starten.
Mikrofon
Apps, die auf Android 14 (API-Level 34) oder höher ausgerichtet sind, dürfen keinen Mikrofondienst im Vordergrund über einen BOOT_COMPLETED
-Broadcast-Empfänger starten.
Weitere Informationen finden Sie unter Einschränkungen für BOOT_COMPLETED
-Broadcast-Empfänger, die Dienste im Vordergrund starten.
Telefonanruf
Bei Apps, die auf Android 15 oder höher ausgerichtet sind, darf kein Dienst im Vordergrund für Anrufe über einen BOOT_COMPLETED
-Broadcast-Empfänger gestartet werden.
Weitere Informationen finden Sie unter Einschränkungen für BOOT_COMPLETED
-Broadcast-Empfänger, die Dienste im Vordergrund starten.