Modifications apportées aux types de services de premier plan pour Android 15

Nous apportons les modifications suivantes aux types de services de premier plan avec Android 15.

Fichier multimédia en cours de traitement…

Type de service de premier plan à déclarer dans le fichier manifeste sous
android:foregroundServiceType
mediaProcessing
Autorisation de déclarer dans votre fichier manifeste
FOREGROUND_SERVICE_MEDIA_PROCESSING
Constante à transmettre à startForeground()
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
Conditions requises pour l'environnement d'exécution
Aucune
Description

Service permettant d'effectuer des opérations chronophages sur les éléments multimédias, comme la conversion de contenus multimédias dans différents formats. Le système autorise l'exécution de ce service pendant une durée limitée. Dans des circonstances normales, cette limite est de 6 heures toutes les 24 heures. (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é pendant son 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 le délai d'inactivité, le système met immédiatement en cache l'application. C'est pourquoi votre application ne doit pas attendre de recevoir une notification de délai d'inactivité. À la place, il doit arrêter le service de premier plan ou le transformer en service d'arrière-plan dès que nécessaire.

Appareil photo

Les applications qui ciblent Android 15 ou version ultérieure ne sont pas autorisées à lancer un service de premier plan pour une caméra à partir d'un broadcast receiver BOOT_COMPLETED. Pour en savoir plus, consultez la section Restrictions concernant le lancement de services de premier plan par les broadcast receivers BOOT_COMPLETED.

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 de données à partir d'un broadcast receiver BOOT_COMPLETED. Pour en savoir plus, consultez la section Restrictions concernant le lancement de services de premier plan par les broadcast receivers BOOT_COMPLETED.

Lecture de 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 le lancement de services de premier plan par les broadcast receivers BOOT_COMPLETED.

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 le lancement de services de premier plan par les broadcast receivers BOOT_COMPLETED.

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 de micro à partir d'un broadcast receiver BOOT_COMPLETED. Pour en savoir plus, consultez la section Restrictions concernant le lancement de services de premier plan par les broadcast receivers BOOT_COMPLETED.

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 le lancement de services de premier plan par les broadcast receivers BOOT_COMPLETED.