Dans le fichier manifeste de votre application, déclarez chacun des services de premier plan de votre application 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 toutes les autorisations nécessaires à 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 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 par l'opérateur|. Par exemple, si votre service utilise l'appareil photo 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 les services de premier plan dans le fichier manifeste de l'application. Les exigences pour des niveaux d'API spécifiques sont décrites dans 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 exception
MissingForegroundServiceTypeExceptionlors de l'appel destartForeground().Même lorsque cela 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 de 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 supérieur.