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 unter
android:foregroundServiceType
mediaProcessing
- Berechtigung, die in Ihrem Manifest deklariert werden muss
FOREGROUND_SERVICE_MEDIA_PROCESSING
- Konstante, die an
startForeground()
übergeben werden soll FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
- Laufzeitvoraussetzungen
- Keine
- Beschreibung
Dienst zum Ausführen zeitaufwendiger Vorgänge auf Medien-Assets, z. B. zum Konvertieren von Medien in verschiedene Formate. Das System erlaubt diesem Dienst eine begrenzte Laufzeit. Unter normalen Umständen beträgt diese Zeitbeschränkung 6 Stunden pro 24 Stunden. Dieses Limit gilt für alle
mediaProcessing
-Dienste im Vordergrund einer App.Ihre App sollte den Medienverarbeitungsdienst in folgenden Fällen manuell beenden:
- Wenn der Transcodierungsvorgang abgeschlossen ist oder einen Fehlerstatus erreicht, muss der Dienst
Service.stopForeground()
undService.stopSelf()
aufrufen, um den Dienst vollständig zu beenden.
- Wenn der Transcodierungsvorgang abgeschlossen ist oder einen Fehlerstatus erreicht, muss der Dienst
Wenn die Zeitüberschreitung erreicht ist, ruft das System die Methode
Service.onTimeout(int, int)
des Dienstes auf. In dieser Zeit hat der Dienst einige Sekunden Zeit,Service.stopSelf()
aufzurufen. Wenn der DienstService.stopSelf()
nicht aufruft, wird eine ANR mit der folgenden Fehlermeldung ausgegeben: „Ein Dienst im Vordergrund von <fgs_type> wurde nicht innerhalb des Zeitlimits beendet: <component_name>“.Hinweis:
Service.onTimeout(int, int)
ist unter Android 14 oder niedriger nicht verfügbar. Wenn auf Geräten mit diesen Versionen ein Medienverarbeitungsdienst die Zeitüberschreitung erreicht, wird die App sofort vom System im Cache gespeichert. Aus diesem Grund sollte Ihre App nicht auf eine Benachrichtigung zur Zeitüberschreitung warten. Stattdessen sollte der Dienst im Vordergrund so bald wie möglich beendet oder in einen Dienst im Hintergrund geändert werden.
Kamera
Apps, die auf Android 15 oder höher ausgerichtet sind, dürfen keinen Kameradienst im Vordergrund über einen BOOT_COMPLETED
-Übertragungsempfänger starten.
Weitere Informationen finden Sie unter Einschränkungen für BOOT_COMPLETED
-Broadcastempfänger, die Dienste im Vordergrund starten.
Datensynchronisierung
Apps, die auf Android 15 oder höher ausgerichtet sind, dürfen keinen Dienst zur Datensynchronisierung im Vordergrund über einen BOOT_COMPLETED
-Übertragungsempfänger starten.
Weitere Informationen finden Sie unter Einschränkungen für BOOT_COMPLETED
-Broadcastempfänger, die Dienste im Vordergrund starten.
Medienwiedergabe
Apps, die auf Android 15 oder höher ausgerichtet sind, dürfen keinen Dienst zur Medienwiedergabe im Vordergrund über einen BOOT_COMPLETED
-Übertragungsempfänger starten.
Weitere Informationen finden Sie unter Einschränkungen für BOOT_COMPLETED
-Broadcastempfänger, die Dienste im Vordergrund starten.
Medienprojektion
Apps, die auf Android 15 oder höher ausgerichtet sind, dürfen keinen Dienst zur Medienprojektion im Vordergrund über einen BOOT_COMPLETED
-Übertragungsempfänger starten.
Weitere Informationen finden Sie unter Einschränkungen für BOOT_COMPLETED
-Broadcastempfä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
-Übertragungsempfänger starten.
Weitere Informationen finden Sie unter Einschränkungen für BOOT_COMPLETED
-Broadcastempfänger, die Dienste im Vordergrund starten.
Telefonanruf
Apps, die auf Android 15 oder höher ausgerichtet sind, dürfen keinen Dienst für Telefonanrufe im Vordergrund über einen BOOT_COMPLETED
-Übertragungsempfänger starten.
Weitere Informationen finden Sie unter Einschränkungen für BOOT_COMPLETED
-Broadcastempfänger, die Dienste im Vordergrund starten.