Änderungen an den Typen von Diensten im Vordergrund für Android 15
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Mit Android 15 nehmen wir die folgenden Änderungen an den Typen von Diensten im Vordergrund vor.
- 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 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 Dienst Service.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.
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.
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.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[],null,["# Changes to foreground service types for Android 15\n\nWe are making the following changes to foreground service types with Android\n15.\n\n### Media processing\n\nForeground service type to declare in manifest under\n`android:foregroundServiceType`\n: `mediaProcessing`\n\nPermission to declare in your manifest\n: `FOREGROUND_SERVICE_MEDIA_PROCESSING`\n\nConstant to pass to `startForeground()`\n: `FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING`\n\nRuntime prerequisites\n: None\n\nDescription\n\n: Service for performing time-consuming operations on media assets, like\n converting media to different formats. The system allows this service a limited\n time to run; under normal circumstances, this time limit would be 6 hours out of\n every 24. (This limit is shared by all of an app's `mediaProcessing` foreground\n services.)\n\n: Your app should manually stop the media processing service in the following\n scenario:\n\n - When the transcoding operation finishes or reaches a failure state, have the service call [`Service.stopForeground()`](/reference/android/app/Service#stopForeground(int)) and [`Service.stopSelf()`](/reference/android/app/Service#stopSelf()) to stop the service completely.\n\n: If the timeout period is reached, the system calls the service's\n [`Service.onTimeout(int, int)`](/reference/android/app/Service#onTimeout(int,%20int)) method. At this\n time, the service has a few\n seconds to call [`Service.stopSelf()`](/reference/android/app/Service#stopSelf()). If the service does not call\n `Service.stopSelf()`, an ANR will occur with this error message: \"A\n foreground service of *\\\u003cfgs_type\\\u003e* did not stop within its\n timeout: *\\\u003ccomponent_name\\\u003e*\".\n\n **Note** : `Service.onTimeout(int, int)` is not available on Android 14\n or lower. On devices running those versions, if a media processing\n service reaches the timeout period, the system immediately caches the app.\n For this reason, your app shouldn't wait to get a timeout notification.\n Instead, it should terminate the foreground service or change it to a\n background service as soon as appropriate.\n\n### Camera\n\nApps that target Android 15 or higher are not allowed to launch a\ncamera foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Data sync\n\nApps that target Android 15 or higher are not allowed to launch a\ndata sync foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Media playback\n\nApps that target Android 15 or higher are not allowed to launch a\nmedia playback foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Media projection\n\nApps that target Android 15 or higher are not allowed to launch a\nmedia projection foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Microphone\n\nApps that target Android 14 (API level 34) or higher are not allowed to launch a\nmicrophone foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Phone call\n\nApps that target Android 15 or higher are not allowed to launch a\nphone call foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed)."]]