Nel file manifest della tua app, dichiara ciascuno dei servizi in primo piano dell'app
con un <service>
elemento. Per ogni servizio, utilizza un
android:foregroundServiceType attributo
per dichiarare il tipo di lavoro svolto dal servizio.
Inoltre, richiedi le autorizzazioni necessarie per i servizi in primo piano.
Compatibilità con le versioni
I requisiti per la dichiarazione dei servizi in primo piano e la richiesta delle autorizzazioni variano a seconda del livello API target dell'app. Questa pagina descrive i requisiti per le app che hanno come target il livello API 34 o versioni successive. Per informazioni sulle modifiche ai servizi in primo piano nelle versioni precedenti della piattaforma, consulta Modifiche ai servizi in primo piano.
Dichiarare i servizi in primo piano nel file manifest dell'app
Il seguente codice mostra come dichiarare un servizio in primo piano per la riproduzione di contenuti multimediali. Potresti utilizzare un servizio di questo tipo per riprodurre musica.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>
<application ...>
<service
android:name=".MyMediaPlaybackService"
android:foregroundServiceType="mediaPlayback"
android:exported="false">
</service>
</application>
</manifest>
Punti chiave sul codice
In questo esempio, il servizio ha un solo tipo,
media. Se al tuo servizio si applicano più tipi, separali con l'operatore|. Ad esempio, se il tuo servizio utilizza la fotocamera e il microfono, dichiaralo nel seguente modo:android:foregroundServiceType="camera|microphone"A seconda del livello API target dell'app, potrebbe essere obbligatorio dichiarare i servizi in primo piano nel file manifest dell'app. I requisiti per livelli API specifici sono descritti in Modifiche ai servizi in primo piano.
Se provi a creare un servizio in primo piano e il relativo tipo non è dichiarato nel file manifest, il sistema genera un'eccezione
MissingForegroundServiceTypeExceptionalla chiamata distartForeground().Anche se non è obbligatorio, è una best practice dichiarare tutti i servizi in primo piano e fornire i relativi tipi di servizi.
Richiedere le autorizzazioni per i servizi in primo piano
Il seguente codice mostra come richiedere le autorizzazioni per un servizio in primo piano che utilizza la fotocamera.
<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>
Punti chiave sul codice
- Questo codice utilizza le best practice per un'app che ha come target il livello API 34 o versioni successive.