Modifiche ai servizi in primo piano

La documentazione del servizio in primo piano descrive il comportamento attuale dei servizi in primo piano di Android. La documentazione fornisce indicazioni sulle best practice per la maggior parte delle app, indipendentemente dal fatto che abbiano come target la versione più recente di Android.

Questa pagina descrive alcune delle modifiche importanti più recenti ai servizi in primo piano e le implicazioni per le app che non hanno come target la versione più recente della piattaforma Android. In molti casi, le best practice che erano facoltative per le app che hanno come target livelli API inferiori diventano obbligatorie per le app che hanno come target livelli API superiori.

Android 9 (livello API 28)

Android 9 introduce l'autorizzazione FOREGROUND_SERVICE. Le app in esecuzione su Android 9 che utilizzano i servizi in primo piano devono disporre di questa autorizzazione.

Se un'app che ha come target il livello API 28 o versioni successive tenta di creare un servizio in primo piano senza richiedere l'autorizzazione FOREGROUND_SERVICE, il sistema genera un SecurityException.

Android 10 (livello API 29)

I seguenti requisiti si applicano alle app che hanno come target il livello API 29 o versioni successive:

Android 11 (livello API 30)

I seguenti requisiti si applicano alle app che hanno come target il livello API 30 o versioni successive:

Android 12 (livello API 31)

I seguenti requisiti si applicano alle app che hanno come target il livello API 31 o versioni successive:

Android 14 (livello API 34)

I seguenti requisiti si applicano alle app che hanno come target il livello API 34 o versioni successive:

  • Devi dichiarare tutti i servizi in primo piano con i relativi tipi di servizio.
  • Le app devono richiedere il tipo di autorizzazione appropriato per il tipo di lavoro che svolgerà il servizio in primo piano. Ogni tipo di servizio in primo piano ha un tipo di autorizzazione corrispondente. Ad esempio, se un'app avvia un servizio in primo piano che utilizza la fotocamera, devi richiedere sia le autorizzazioni FOREGROUND_SERVICE sia FOREGROUND_SERVICE_CAMERA. Se un'app ha come target il livello API 34 o versioni successive e non richiede l'autorizzazione specifica appropriata, il sistema genera un SecurityException.

Android 15 (livello API 35)

I seguenti requisiti si applicano alle app che hanno come target il livello API 35 o versioni successive: