Modifications apportées aux types de services de premier plan pour Android 15
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Nous apportons les modifications suivantes aux types de services de premier plan avec Android 15.
- Type de service de premier plan à déclarer dans le fichier manifeste sous
android:foregroundServiceType
mediaProcessing
- Autorisation à déclarer dans votre fichier manifeste
FOREGROUND_SERVICE_MEDIA_PROCESSING
- Constante à transmettre à
startForeground()
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
- Conditions préalables d'exécution
- Aucune
- Description
Service permettant d'effectuer des opérations chronophages sur des composants multimédias, comme la conversion de contenus multimédias en différents formats. Le système autorise ce service à s'exécuter pendant une durée limitée. Dans des conditions normales, cette limite de temps est de six heures sur 24. (Cette limite est partagée par tous les services de premier plan mediaProcessing
d'une application.)
Votre application doit arrêter manuellement le service de traitement multimédia dans le scénario suivant:
Si le délai avant expiration est atteint, le système appelle la méthode Service.onTimeout(int, int)
du service. À ce stade, le service dispose de quelques secondes pour appeler Service.stopSelf()
. Si le service n'appelle pas Service.stopSelf()
, une erreur ANR se produit avec le message d'erreur suivant: "Un service de premier plan de <fgs_type> ne s'est pas arrêté dans le délai avant expiration: <component_name>".
Remarque: Service.onTimeout(int, int)
n'est pas disponible sur Android 14 ou version antérieure. Sur les appareils exécutant ces versions, si un service de traitement multimédia atteint la période d'expiration, le système met immédiatement en cache l'application. Pour cette raison, votre application ne doit pas attendre de recevoir une notification d'expiration.
Au lieu de cela, il doit arrêter le service de premier plan ou le convertir en service en arrière-plan dès que cela est approprié.
Appareil photo
Les applications qui ciblent Android 15 ou version ultérieure ne sont pas autorisées à lancer un service de premier plan de l'appareil photo à partir d'un broadcast receiver BOOT_COMPLETED
.
Pour en savoir plus, consultez la section Restrictions concernant les broadcast receivers BOOT_COMPLETED
qui lancent des services de premier plan.
Synchroniser les données
Les applications qui ciblent Android 15 ou version ultérieure ne sont pas autorisées à lancer un service de premier plan de synchronisation des données à partir d'un broadcast receiver BOOT_COMPLETED
.
Pour en savoir plus, consultez la section Restrictions concernant les broadcast receivers BOOT_COMPLETED
qui lancent des services de premier plan.
Les applications qui ciblent Android 15 ou version ultérieure ne sont pas autorisées à lancer un service de premier plan de lecture multimédia à partir d'un broadcast receiver BOOT_COMPLETED
.
Pour en savoir plus, consultez la section Restrictions concernant les broadcast receivers BOOT_COMPLETED
qui lancent des services de premier plan.
Les applications qui ciblent Android 15 ou version ultérieure ne sont pas autorisées à lancer un service de premier plan de projection multimédia à partir d'un broadcast receiver BOOT_COMPLETED
.
Pour en savoir plus, consultez la section Restrictions concernant les broadcast receivers BOOT_COMPLETED
qui lancent des services de premier plan.
Micro
Les applications qui ciblent Android 14 (niveau d'API 34) ou version ultérieure ne sont pas autorisées à lancer un service de premier plan du micro à partir d'un broadcast receiver BOOT_COMPLETED
.
Pour en savoir plus, consultez la section Restrictions concernant les broadcast receivers BOOT_COMPLETED
qui lancent des services de premier plan.
Appel téléphonique
Les applications qui ciblent Android 15 ou version ultérieure ne sont pas autorisées à lancer un service de premier plan d'appel téléphonique à partir d'un broadcast receiver BOOT_COMPLETED
.
Pour en savoir plus, consultez la section Restrictions concernant les broadcast receivers BOOT_COMPLETED
qui lancent des services de premier plan.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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)."]]