Nel file manifest della tua app, dichiara ogni servizio in primo piano dell'app con un elemento <service>. Per ogni servizio, utilizza un
attributo android:foregroundServiceType
per dichiarare il tipo di lavoro svolto dal servizio.
Inoltre, richiedi le autorizzazioni necessarie per i tuoi servizi in primo piano.
Compatibilità delle versioni
I requisiti per dichiarare i servizi in primo piano e richiedere le autorizzazioni variano a seconda del livello API scelto come target per l'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.
Dichiara 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 ascoltare 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 in questo modo:android:foregroundServiceType="camera|microphone"A seconda del livello API scelto come target per la tua app, potrebbe essere necessario 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 suo tipo non è dichiarato nel manifest, il sistema genera un'eccezione
MissingForegroundServiceTypeExceptionquando viene chiamatostartForeground().Anche quando non è obbligatorio, è una best practice dichiarare tutti i servizi in primo piano e fornire i relativi tipi di servizio.
Richiedi 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.