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 file manifest in
android:foregroundServiceType
mediaProcessing
- Autorizzazione da dichiarare nel manifest
FOREGROUND_SERVICE_MEDIA_PROCESSING
- Costante per passare a
startForeground()
FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING
- Prerequisiti di runtime
- Nessuno
- Descrizione
Servizio per l'esecuzione di operazioni dispendiose in termini di tempo sugli asset multimediali, come la conversione dei contenuti multimediali in formati diversi. Il sistema consente l'esecuzione di questo servizio per un tempo limitato; in circostanze normali, questo limite di tempo è di 6 ore ogni 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 alla
chiamata di servizio
Service.stopForeground()
eService.stopSelf()
di interrompere completamente il servizio.
- Quando l'operazione di transcodifica termina o raggiunge uno stato di errore, chiedi alla
chiamata di servizio
Se viene raggiunto il periodo di timeout, il sistema chiama il metodo
Service.onTimeout(int, int)
del servizio. In questo momento, il servizio ha pochi secondi per chiamareService.stopSelf()
. Se il servizio non chiamaService.stopSelf()
, si verificherà un errore ANR con questo messaggio di errore: "Un servizio in primo piano di <fgs_type> non è stato interrotto durante il 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 multimediale 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 passare a un servizio in background non appena opportuno.
Fotocamera
Le app destinate ad Android 15 o versioni successive non possono avviare un servizio in primo piano della fotocamera da un ricevitore BOOT_COMPLETED
.
Per maggiori informazioni, consulta le limitazioni relative ai ricevitori di trasmissioni BOOT_COMPLETED
che avviano i servizi in primo piano.
Sincronizzazione dati
Le app destinate ad Android 15 o versioni successive non possono avviare un servizio di sincronizzazione dei dati in primo piano da un ricevitore di trasmissione BOOT_COMPLETED
.
Per maggiori informazioni, consulta le limitazioni relative ai ricevitori di trasmissioni BOOT_COMPLETED
che avviano i servizi in primo piano.
Riproduzione di contenuti multimediali
Le app destinate ad Android 15 o versioni successive non possono avviare un servizio di riproduzione multimediale in primo piano da un ricevitore BOOT_COMPLETED
.
Per maggiori informazioni, consulta le limitazioni relative ai ricevitori di trasmissioni BOOT_COMPLETED
che avviano i servizi in primo piano.
Proiezione di contenuti multimediali
Le app destinate ad Android 15 o versioni successive non possono lanciare un servizio in primo piano di proiezione di contenuti multimediali da un ricevitore BOOT_COMPLETED
.
Per maggiori informazioni, consulta le limitazioni relative ai ricevitori di trasmissioni BOOT_COMPLETED
che avviano i servizi in primo piano.
Microfono
Le app destinate ad Android 14 (livello API 34) o versioni successive non possono avviare un servizio in primo piano con microfono da un ricevitore di trasmissione BOOT_COMPLETED
.
Per maggiori informazioni, consulta le limitazioni relative ai ricevitori di trasmissioni BOOT_COMPLETED
che avviano i servizi in primo piano.
Telefonata
Le app destinate ad Android 15 o versioni successive non possono lanciare un servizio in primo piano per le chiamate da un ricevitore BOOT_COMPLETED
.
Per maggiori informazioni, consulta le limitazioni relative ai ricevitori di trasmissioni BOOT_COMPLETED
che avviano i servizi in primo piano.