Nous apportons les modifications suivantes aux types de services de premier plan avec Android 15.
Traitement multimédia
- 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:
- Lorsque l'opération de transcodage est terminée ou atteint un état d'échec, demandez au service d'appeler
Service.stopForeground()
etService.stopSelf()
pour arrêter complètement le service.
- Lorsque l'opération de transcodage est terminée ou atteint un état d'échec, demandez au service d'appeler
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 appelerService.stopSelf()
. Si le service n'appelle pasService.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.
Lecture des contenus multimédias
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.
Projection multimédia
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.