Modifiche ai tipi di servizi in primo piano per Android 15
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Stiamo apportando le seguenti modifiche ai tipi di servizi in primo piano con Android
15.
- 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:
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 chiamare Service.stopSelf()
. Se il servizio non chiama
Service.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.
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.
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.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-27 UTC."],[],[],null,["# Changes to foreground service types for Android 15\n\nWe are making the following changes to foreground service types with Android\n15.\n\n### Media processing\n\nForeground service type to declare in manifest under\n`android:foregroundServiceType`\n: `mediaProcessing`\n\nPermission to declare in your manifest\n: `FOREGROUND_SERVICE_MEDIA_PROCESSING`\n\nConstant to pass to `startForeground()`\n: `FOREGROUND_SERVICE_TYPE_MEDIA_PROCESSING`\n\nRuntime prerequisites\n: None\n\nDescription\n\n: Service for performing time-consuming operations on media assets, like\n converting media to different formats. The system allows this service a limited\n time to run; under normal circumstances, this time limit would be 6 hours out of\n every 24. (This limit is shared by all of an app's `mediaProcessing` foreground\n services.)\n\n: Your app should manually stop the media processing service in the following\n scenario:\n\n - When the transcoding operation finishes or reaches a failure state, have the service call [`Service.stopForeground()`](/reference/android/app/Service#stopForeground(int)) and [`Service.stopSelf()`](/reference/android/app/Service#stopSelf()) to stop the service completely.\n\n: If the timeout period is reached, the system calls the service's\n [`Service.onTimeout(int, int)`](/reference/android/app/Service#onTimeout(int,%20int)) method. At this\n time, the service has a few\n seconds to call [`Service.stopSelf()`](/reference/android/app/Service#stopSelf()). If the service does not call\n `Service.stopSelf()`, an ANR will occur with this error message: \"A\n foreground service of *\\\u003cfgs_type\\\u003e* did not stop within its\n timeout: *\\\u003ccomponent_name\\\u003e*\".\n\n **Note** : `Service.onTimeout(int, int)` is not available on Android 14\n or lower. On devices running those versions, if a media processing\n service reaches the timeout period, the system immediately caches the app.\n For this reason, your app shouldn't wait to get a timeout notification.\n Instead, it should terminate the foreground service or change it to a\n background service as soon as appropriate.\n\n### Camera\n\nApps that target Android 15 or higher are not allowed to launch a\ncamera foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Data sync\n\nApps that target Android 15 or higher are not allowed to launch a\ndata sync foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Media playback\n\nApps that target Android 15 or higher are not allowed to launch a\nmedia playback foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Media projection\n\nApps that target Android 15 or higher are not allowed to launch a\nmedia projection foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Microphone\n\nApps that target Android 14 (API level 34) or higher are not allowed to launch a\nmicrophone foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed).\n\n### Phone call\n\nApps that target Android 15 or higher are not allowed to launch a\nphone call foreground service from a `BOOT_COMPLETED` broadcast receiver.\nFor more information, see\n[Restrictions on `BOOT_COMPLETED` broadcast receivers launching foreground\nservices](/about/versions/15/behavior-changes-15#fgs-boot-completed)."]]