Stiamo apportando le seguenti modifiche ai tipi di servizi in primo piano con Android 15.
Elaborazione contenuti multimediali in corso
- Tipo di servizio in primo piano da dichiarare nel manifest in
android:foregroundServiceType
mediaProcessing
- Autorizzazione da dichiarare nel file manifest
FOREGROUND_SERVICE_MEDIA_PROCESSING
- Costante da passare a
startForeground()
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
- Prerequisiti di runtime
- Nessuna
- Descrizione
Servizio per eseguire operazioni che richiedono molto tempo sugli asset multimediali, come la conversione dei contenuti multimediali in diversi formati. Il sistema consente a questo servizio un tempo di esecuzione limitato. In circostanze normali, questo limite di tempo è di 6 ore su 24. Questo limite è condiviso da tutti i
mediaProcessing
servizi in primo piano di un'app.L'app deve interrompere manualmente il servizio di elaborazione dei contenuti multimediali nel seguente scenario:
- Quando l'operazione di transcodifica termina o raggiunge uno stato di errore, chiedi al servizio di chiamare
Service.stopForeground()
eService.stopSelf()
per interromperlo completamente.
- Quando l'operazione di transcodifica termina o raggiunge uno stato di errore, chiedi al servizio di chiamare
Se viene raggiunto il periodo di timeout, il sistema chiama il metodo
Service.onTimeout(int, int)
del servizio. A questo momento, il servizio ha alcuni secondi per chiamareService.stopSelf()
. Se il servizio non chiamaService.stopSelf()
, si verificherà un ANR con il seguente messaggio di errore: "Un servizio in primo piano di <fgs_type> non si è interrotto entro il suo timeout: <component_name>".Nota:
Service.onTimeout(int, int)
non è disponibile su Android 14 o versioni precedenti. Sui dispositivi che eseguono queste versioni, se un servizio di elaborazione dei contenuti multimediali raggiunge il periodo di timeout, il sistema memorizza immediatamente l'app nella cache. Per questo motivo, l'app non deve attendere di ricevere una notifica di timeout. Dovrebbe invece terminare il servizio in primo piano o cambiarlo in un servizio in background, se opportuno.
Fotocamera
Le app che hanno come target Android 15 o versioni successive non sono autorizzate ad avviare un servizio in primo piano della fotocamera da un broadcast receiver BOOT_COMPLETED
.
Per ulteriori informazioni, consulta
Restrizioni relative ai ricevitori di trasmissione BOOT_COMPLETED
che avviano servizi in primo piano.
Sincronizzazione dati
Le app che hanno come target Android 15 o versioni successive non sono autorizzate ad avviare un servizio in primo piano di sincronizzazione dei dati da un broadcast receiver BOOT_COMPLETED
.
Per ulteriori informazioni, consulta
Restrizioni relative ai ricevitori di trasmissione BOOT_COMPLETED
che avviano servizi in primo piano.
Riproduzione di contenuti multimediali
Le app che hanno come target Android 15 o versioni successive non sono autorizzate ad avviare un servizio in primo piano per la riproduzione di contenuti multimediali da un broadcast receiver BOOT_COMPLETED
.
Per ulteriori informazioni, consulta
Restrizioni relative ai ricevitori di trasmissione BOOT_COMPLETED
che avviano servizi in primo piano.
Proiezione di contenuti multimediali
Le app che hanno come target Android 15 o versioni successive non sono autorizzate ad avviare un servizio in primo piano di proiezione multimediale da un broadcast receiver BOOT_COMPLETED
.
Per ulteriori informazioni, consulta
Restrizioni relative ai ricevitori di trasmissione BOOT_COMPLETED
che avviano servizi in primo piano.
Microfono
Le app che hanno come target Android 14 (livello API 34) o versioni successive non sono autorizzate ad avviare un servizio in primo piano per il microfono da un broadcast receiver BOOT_COMPLETED
.
Per ulteriori informazioni, consulta
Restrizioni relative ai ricevitori di trasmissione BOOT_COMPLETED
che avviano servizi in primo piano.
Telefonata
Le app che hanno come target Android 15 o versioni successive non sono autorizzate ad avviare un servizio in primo piano per le chiamate da un broadcast receiver BOOT_COMPLETED
.
Per ulteriori informazioni, consulta
Restrizioni relative ai ricevitori di trasmissione BOOT_COMPLETED
che avviano servizi in primo piano.