Dans le fichier manifeste de votre application, déclarez chacun de ses services de premier plan avec un élément <service>
. Pour chaque service, utilisez un attribut android:foregroundServiceType
pour déclarer le type de travail effectué par le service.
En outre, demandez les autorisations requises par vos services de premier plan.
Compatibilité des versions
Les exigences concernant la déclaration de vos services de premier plan et la demande d'autorisations varient en fonction du niveau d'API ciblé par votre application. Cette page décrit les exigences applicables aux applications qui ciblent le niveau d'API 34 ou supérieur. Pour en savoir plus sur les modifications apportées aux services de premier plan dans les versions antérieures de la plate-forme, consultez la section Modifications apportées aux services de premier plan.
Déclarer des services de premier plan dans le fichier manifeste de l'application
Le code suivant montre comment déclarer un service de premier plan de lecture multimédia. Vous pouvez utiliser un service de ce type pour écouter de la musique.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>
<application ...>
<service
android:name=".MyMediaPlaybackService"
android:foregroundServiceType="mediaPlayback"
android:exported="false">
</service>
</application>
</manifest>
Points clés concernant le code
Dans cet exemple, le service n'a qu'un seul type,
media
. Si plusieurs types s'appliquent à votre service, séparez-les avec l'opérateur|
. Par exemple, si votre service utilise la caméra et le micro, déclarez-le comme suit:android:foregroundServiceType="camera|microphone"
Selon le niveau d'API ciblé par votre application, vous devrez peut-être déclarer des services de premier plan dans le fichier manifeste de l'application. Les exigences concernant des niveaux d'API spécifiques sont décrites dans la section Modifications apportées aux services de premier plan.
Si vous essayez de créer un service de premier plan et que son type n'est pas déclaré dans le fichier manifeste, le système génère une erreur
MissingForegroundServiceTypeException
lors de l'appel destartForeground()
.Même si ce n'est pas obligatoire, il est recommandé de déclarer tous vos services de premier plan et de fournir leurs types de services.
Demander les autorisations pour le service de premier plan
Le code suivant montre comment demander des autorisations pour un service de premier plan qui utilise l'appareil photo.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA"/>
<application ...>
...
</application>
</manifest>
Points clés concernant le code
- Ce code utilise les bonnes pratiques pour une application qui cible le niveau d'API 34 ou version ultérieure.