Modifiche al framework di compatibilità (Android 15)

Figura 1. La schermata Modifiche alla compatibilità delle app nelle opzioni per sviluppatori elenca le modifiche che puoi attivare.

In questa pagina vengono descritte le modifiche attivabili che fanno parte del framework di compatibilità di Android 15. Utilizza questo elenco in combinazione con le opzioni per sviluppatori e i comandi ADB per testare ed eseguire il debug della tua app mentre ti prepari a supportare e scegliere come target Android 15.

Ecco alcune delle cose che puoi fare utilizzando gli strumenti del framework per la compatibilità:

  • Testa modifiche mirate senza modificare effettivamente il valore targetSdkVersion dell'app. Puoi utilizzare i pulsanti di attivazione/disattivazione per forzare l'attivazione di modifiche specifiche del comportamento mirato al fine di valutare l'impatto sulla tua app esistente.
  • Esegui i test solo su modifiche specifiche. Invece di dover risolvere tutte le modifiche mirate contemporaneamente, le opzioni di attivazione/disattivazione ti consentono di disabilitare tutte le modifiche scelte come target tranne quelle su cui vuoi eseguire il test.
  • Gestisci i pulsanti di attivazione/disattivazione tramite ADB. Puoi utilizzare i comandi adb per attivare e disattivare le modifiche attivabili nell'ambiente di test automatico.
  • Esegui il debug più velocemente utilizzando gli ID modifica standard. Ciascuna modifica attivabile ha un ID e un nome univoci che puoi utilizzare per eseguire rapidamente il debug della causa principale nell'output del log.

Per informazioni dettagliate sull'utilizzo degli strumenti per ciascuno di questi casi d'uso, consulta Strumenti di framework di compatibilità.

Modifiche del comportamento incluse nel framework di compatibilità

L'elenco in questa sezione descrive le modifiche attivabili incluse nel framework di compatibilità per le modifiche relative ad Android 15 e le modifiche attivabili che possono essere utili per i test generali delle app.

Puoi filtrare l'elenco delle modifiche in base al loro stato predefinito.

Modifiche attivate/disattivabili nel framework di compatibilità in Android 15

CAMERA_MIC_INDICATORS_NOT_PRESENT

ID modifica: 162547999
Stato predefinito: disattivato per tutte le app.

Indica che il dispositivo supporta gli indicatori della fotocamera e del microfono. Il valore è false se presente, perché il metodo CompatChanges#isChangeEnabled restituisce true se l'ID modifica non è presente.

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

ID modifica: 320741775
Stato predefinito: attivata per le app destinate ad Android 15 o versioni successive.

Se abilitato, isSessionConfigurationSupported verifica anche la compatibilità dei parametri di sessione, se supportati dall'HAL.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

ID modifica: 296478951
Stato predefinito: attivata per le app destinate ad Android 15 o versioni successive.

Se abilitato, l'autore di PendingIntent blocca l'avvio di attività in background per impostazione predefinita.

Per scoprire di più su questa modifica, consulta la sezione della pagina relativa alle modifiche del comportamento di Android 15 relativa agli avvii di attività in background protette.

DEPRECATE_UI_FONT

ID modifica: 279646685
Stato predefinito: attivata per le app destinate ad Android 15 o versioni successive.

Se attivato, l'attributo elegantTextHeight TextView diventa true per impostazione predefinita quando la tua app è in esecuzione su un dispositivo con Android 15 o versioni successive, sostituendo il carattere compatto usato per impostazione predefinita con alcuni script con metriche verticali di grandi dimensioni con metriche verticali di grandi dimensioni con una molto più leggibile.

Per scoprire di più su questa modifica, consulta la sezione della pagina relativa alle modifiche del comportamento di Android 15 relativa all' impostazione predefinita dell'attributo eleganteTextHeight su true.

DOWNSCALED

ID modifica: 168419799
Stato predefinito: disattivato per tutte le app.

Questa modifica è il fulcro di tutte le modifiche al downscaling del buffer per app. L'abilitazione di questa modifica consente di applicare i seguenti fattori di scalabilità:

Quando questa modifica viene abilitata per un pacchetto di app, l'app viene ridimensionata forzatamente al fattore di scalabilità abilitato più alto. Ad esempio, viene utilizzato l'80% se sono abilitati sia l'80% che il 70% (DOWNSCALE_80 e DOWNSCALE_70). Quando sia questa modifica sia DOWNSCALED_INVERSE sono abilitate, DOWNSCALED_INVERSE ha la precedenza e il fattore di scalabilità viene applicato all'inverso.

DOWNSCALED_INVERSE

ID modifica: 273564678
Stato predefinito: disattivato per tutte le app.

Questa modifica è l'elemento di controllo di tutte le modifiche del ridimensionamento inverso del buffer per app. L'abilitazione di questa modifica consente di applicare invertire i seguenti fattori di scalabilità (ovvero, viene invece ridimensionata la risoluzione):

Quando questa modifica viene abilitata per un pacchetto di app, l'app viene ridimensionata forzatamente al fattore di scalabilità abilitato più basso. Ad esempio, viene utilizzato l'80% se sono abilitati sia l'80% che il 70% (DOWNSCALE_80 e DOWNSCALE_70) perché quando applicato in modo inverso, un fattore di scalabilità dell'80% è uguale al 125%, che è inferiore al 142,86% di scalabilità applicato quando si applica in modo inverso un fattore di scalabilità del 70%. Quando sia questa modifica sia DOWNSCALED sono abilitate, DOWNSCALED_INVERSE ha la precedenza e il fattore di scalabilità viene applicato all'inverso.

DOWNSCALE_30

ID modifica: 189970040
Stato predefinito: disattivato per tutte le app.

Se è abilitato anche DOWNSCALED, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 30% della risoluzione verticale e orizzontale del display reale. Se è abilitato anche DOWNSCALED_INVERSE, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 333,33% della risoluzione verticale e orizzontale del display reale.

DOWNSCALE_35

ID modifica: 189969749
Stato predefinito: disattivato per tutte le app.

Se è abilitato anche DOWNSCALED, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che venga eseguita su un display con il 35% della risoluzione verticale e orizzontale del display reale. Se è abilitato anche DOWNSCALED_INVERSE, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 285,71% della risoluzione verticale e orizzontale del display reale.

DOWNSCALE_40

ID modifica: 189970038
Stato predefinito: disattivato per tutte le app.

Se è abilitato anche DOWNSCALED, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 40% della risoluzione verticale e orizzontale del display reale. Se è abilitato anche DOWNSCALED_INVERSE, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 250% della risoluzione verticale e orizzontale del display reale.

DOWNSCALE_45

ID modifica: 189969782
Stato predefinito: disattivato per tutte le app.

Se è abilitato anche DOWNSCALED, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 45% della risoluzione verticale e orizzontale del display reale. Se è abilitato anche DOWNSCALED_INVERSE, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 222,22% della risoluzione verticale e orizzontale del display reale.

DOWNSCALE_50

ID modifica: 176926741
Stato predefinito: disattivato per tutte le app.

Se è abilitato anche DOWNSCALED, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 50% della risoluzione verticale e orizzontale del display reale. Se è abilitato anche DOWNSCALED_INVERSE, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 200% della risoluzione verticale e orizzontale del display reale.

DOWNSCALE_55

ID modifica: 189970036
Stato predefinito: disattivato per tutte le app.

Se è abilitato anche DOWNSCALED, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 55% della risoluzione verticale e orizzontale del display reale. Se è abilitato anche DOWNSCALED_INVERSE, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 181,82% della risoluzione verticale e orizzontale del display reale.

DOWNSCALE_60

ID modifica: 176926771
Stato predefinito: disattivato per tutte le app.

Se è abilitato anche DOWNSCALED, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 60% della risoluzione verticale e orizzontale del display reale. Se è abilitato anche DOWNSCALED_INVERSE, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 166,67% della risoluzione verticale e orizzontale del display reale.

DOWNSCALE_65

ID modifica: 189969744
Stato predefinito: disattivato per tutte le app.

Se è abilitato anche DOWNSCALED, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che venga eseguita su un display con il 65% della risoluzione verticale e orizzontale del display reale. Se è abilitato anche DOWNSCALED_INVERSE, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 153,85% della risoluzione verticale e orizzontale del display reale.

DOWNSCALE_70

ID modifica: 176926829
Stato predefinito: disattivato per tutte le app.

Se è abilitato anche DOWNSCALED, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 70% della risoluzione verticale e orizzontale del display reale. Se è abilitato anche DOWNSCALED_INVERSE, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 142,86% della risoluzione verticale e orizzontale del display reale.

DOWNSCALE_75

ID modifica: 189969779
Stato predefinito: disattivato per tutte le app.

Se è abilitato anche DOWNSCALED, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 75% della risoluzione verticale e orizzontale del display reale. Se è abilitato anche DOWNSCALED_INVERSE, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 133,33% della risoluzione verticale e orizzontale del display reale.

DOWNSCALE_80

ID modifica: 176926753
Stato predefinito: disattivato per tutte le app.

Se è abilitato anche DOWNSCALED, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con l'80% della risoluzione verticale e orizzontale del display reale. Se è abilitato anche DOWNSCALED_INVERSE, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 125% della risoluzione verticale e orizzontale del display reale.

DOWNSCALE_85

ID modifica: 189969734
Stato predefinito: disattivato per tutte le app.

Se è abilitato anche DOWNSCALED, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con l'85% della risoluzione verticale e orizzontale del display reale. Se è abilitato anche DOWNSCALED_INVERSE, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 117,65% della risoluzione verticale e orizzontale del display reale.

DOWNSCALE_90

ID modifica: 182811243
Stato predefinito: disattivato per tutte le app.

Se è abilitato anche DOWNSCALED, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con il 90% della risoluzione verticale e orizzontale del display reale. Se è abilitato anche DOWNSCALED_INVERSE, l'attivazione di questa modifica per un pacchetto obbliga l'app a presumere che sia in esecuzione su un display con l'111,11% della risoluzione verticale e orizzontale del display reale.

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

ID modifica: 202956589
Stato predefinito: attivata per le app destinate ad Android 15 o versioni successive.

Quando l'opzione è abilitata, il tipo di componente Arrays.asList(...).toArray() Object, non il tipo di elementi dell'array sottostante. Di conseguenza, il seguente codice restituirà ClassCastException:

String[] elements = (String[]) Arrays.asList("one", "two").toArray();

Puoi risolvere questo problema utilizzando Collection.toArray(Object[]):

String[] elements = Arrays.asList("two", "one").toArray(new String[0]);

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

ID modifica: 324203798
Stato predefinito: attivata per le app destinate ad Android 15 o versioni successive.

Se questa opzione è abilitata, per evitare che le app esistenti abbiano problemi di compatibilità con utilizzi non SDK di ClientTransaction#getActivityToken(), consenti solo il raggruppamento di LaunchActivityItem.

ENABLE_MATCH_LOCAL_NETWORK

ID modifica: 319212206
Stato predefinito: attivata per le app destinate ad Android 15 o versioni successive.

Quando questa opzione è attiva, per impostazione predefinita le app ricevono callback di rete dalle reti locali. Le app che hanno come target Android 14 (livello API 34) o versioni precedenti devono comunque aggiungere NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK a NetworkCapabilities delle NetworkRequest per ricevere ConnectivityManager.NetworkCallback dalle reti locali.

ENABLE_STRICT_FORMATTER_VALIDATION

ID modifica: 270674727
Stato predefinito: attivata per le app destinate ad Android 15 o versioni successive.

Se abilitata, la convalida di indice, flag, larghezza e precisione degli argomenti ora è più rigorosa quando si utilizzano le API String.format() e Formatter.format().

Per scoprire di più su questa modifica, consulta la sezione della pagina relativa alle modifiche del comportamento di Android 15 sulle modifiche a OpenJDK 17.

ENFORCE_EDGE_TO_EDGE

ID modifica: 309578419
Stato predefinito: attivata per le app destinate ad Android 15 o versioni successive.

Se questa opzione è abilitata, le app saranno edge-to-edge per impostazione predefinita sui dispositivi con Android 15 o versioni successive.

Per scoprire di più su questa modifica, consulta la sezione della pagina Modifiche al comportamento di Android 15 relativa all' applicazione Edge-to-edge.

ENFORCE_STRICT_QUERY_BUILDER

ID modifica: 143231523
Stato predefinito: disattivato per tutte le app.

Se l'opzione è abilitata, SQLiteQueryBuilder verifica tutte le selezioni di query CalendarProvider2 rispetto ad argomenti dannosi.

FGS_BOOT_COMPLETED_RESTRICTIONS

ID modifica: 296558535
Stato predefinito: attivata per le app destinate ad Android 15 o versioni successive.

Se questa opzione è abilitata, disattiva l'avvio dello sfondo del servizio in primo piano da BOOT_COMPLETED di trasmissioni per tutti i tipi, ad eccezione di:

Per scoprire di più su questa modifica, consulta la sezione della pagina relativa alle modifiche del comportamento di Android 15 sulle Limitazioni sui ricevitori di trasmissione BOOT_COMPLETED che avviano i servizi in primo piano.

FGS_SAW_RESTRICTIONS

ID modifica: 319471980
Stato predefinito: attivata per le app destinate ad Android 15 o versioni successive.

Quando questa opzione è abilitata, disattiva l'avvio dello sfondo del servizio in primo piano nella finestra di avviso del sistema per tutti i tipi, a meno che non sia già presente una finestra di overlay del sistema.

Per scoprire di più su questa modifica, consulta la sezione della pagina relativa alle modifiche del comportamento di Android 15 riguardante le limitazioni relative all'avvio di servizi in primo piano quando un'app conserva l'autorizzazione SYSTEM_ALERT_WINDOW.

FORCE_DISABLE_HEVC_SUPPORT

ID modifica: 174227820
Stato predefinito: disattivato per tutte le app.

Forza la disattivazione del supporto della funzionalità multimediale HEVC da parte di un'app. Le app devono dichiarare le funzionalità multimediali supportate nel file manifest, ma questo flag può essere utilizzato per forzare un'app a non supportare HEVC, forzando la transcodifica durante l'accesso ai contenuti multimediali codificati in HEVC. L'impostazione di questo flag sostituisce qualsiasi impostazione predefinita a livello di sistema operativo per le app. È disabilitata per impostazione predefinita, il che significa che le impostazioni predefinite del sistema operativo hanno la precedenza. Se sono abilitati sia questo flag sia FORCE_ENABLE_HEVC_SUPPORT, il sistema operativo ignora entrambi i flag.

FORCE_ENABLE_HEVC_SUPPORT

ID modifica: 174228127
Stato predefinito: disattivato per tutte le app.

Forza l'attivazione di un'app per supportare le funzionalità multimediali HEVC. Le app devono dichiarare le funzionalità multimediali supportate nel file manifest, ma è possibile usare questo flag per forzare un'app a supportare HEVC, evitando così la transcodifica quando si accede ai contenuti multimediali codificati in HEVC. L'impostazione di questo flag sostituisce qualsiasi impostazione predefinita a livello di sistema operativo per le app. È disabilitata per impostazione predefinita, il che significa che le impostazioni predefinite del sistema operativo avranno la precedenza. Se questo flag e FORCE_DISABLE_HEVC_SUPPORT sono abilitati, il sistema operativo ignora entrambi i flag.

FORCE_NON_RESIZE_APP

ID modifica: 181146395
Stato predefinito: disattivato per tutte le app.

Forza la non ridimensionabile dei pacchetti a cui è applicata.

FORCE_RESIZE_APP

ID modifica: 174042936
Stato predefinito: disattivato per tutte le app.

Forza il ridimensionabile dei pacchetti a cui viene applicato. Consentiamo il ridimensionamento solo in modalità windowing a schermo intero, ma non forzando l'app in modalità multi-windowing ridimensionabile.

GWP_ASAN

ID modifica: 145634846
Stato predefinito: disattivato per tutte le app.

Consente di attivare il rilevamento di bug della memoria nativa campionata nelle app.

Per scoprire di più sull'utilizzo di GWP-ASan, consulta la guida di GWP-ASan.

IS_DEVICE_OWNER_USER_AWARE

ID modifica: 307233716
Stato predefinito: attivata per le app destinate ad Android 15 o versioni successive.

Se attivato, il metodo isDeviceOwnerApp(String) utilizzerà l'utente contenuto nel contesto. Per le app che hanno come target Android 14 (livello API 34) o versioni precedenti, verrà utilizzato l'utente del processo di chiamata (Process.myUserHandle()).

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

ID modifica: 308670109
Stato predefinito: attivata per le app destinate ad Android 15 o versioni successive.

Quando questa opzione è attiva, le app non possono più modificare lo stato o il criterio globale della modalità Non disturbare su un dispositivo (modificando le impostazioni utente o disattivando la modalità DND). Le app devono però contribuire a un AutomaticZenRule, che il sistema combina in un criterio globale con lo schema esistente più restrittivo.

Per scoprire di più su questa modifica, consulta la sezione della pagina relativa alle modifiche del comportamento di Android 15 riguardante le modifiche alle tempistiche di modifica dello stato globale della modalità Non disturbare da parte delle app.

NATIVE_HEAP_ZERO_INIT

ID modifica: 178038272
Stato predefinito: disattivato per tutte le app.

Abilita l'inizializzazione automatica zero delle allocazioni della memoria heap native.

NATIVE_MEMTAG_ASYNC

ID modifica: 145772972
Stato predefinito: disattivato per tutte le app.

Attiva il controllo del tag di memoria asincrono (ASYNC) in questa procedura. Questo flag riguarda solo l'hardware che supporta la funzionalità MTE (Memory Tagging Extension) per ARM.

NATIVE_MEMTAG_SYNC

ID modifica: 177438394
Stato predefinito: disattivato per tutte le app.

Consente di attivare il controllo del tag di memoria sincrono (SYNC) in questo processo. Questo flag riguarda solo l'hardware che supporta la funzionalità MTE (Memory Tagging Extension) per ARM. Se sono attivi sia NATIVE_MEMTAG_ASYNC sia questa opzione, questa ha la precedenza e la funzionalità MTE è attiva in modalità SINCRONIZZAZIONE.

OVERRIDE_ANY_ORIENTATION

ID modifica: 265464455
Stato predefinito: disattivato per tutte le app.

Quando è abilitata, questa modifica consente di applicare le seguenti sostituzioni dell'orientamento, indipendentemente dall'orientamento richiesto dall'attività:

OVERRIDE_ANY_ORIENTATION_TO_USER

ID modifica: 310816437
Stato predefinito: disattivato per tutte le app.

Se abilitato, abilita SCREEN_ORIENTATION_USER, che sostituisce qualsiasi orientamento richiesto dall'attività. È possibile eseguire l'override delle app con orientamento fisso a schermo intero sui dispositivi con schermo grande in cui è abilitato ignoreOrientationRequest con questo override.

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

ID modifica: 314961188
Stato predefinito: disattivato per tutte le app.

Se attivata, esclude i pacchetti a cui viene applicata la sostituzione dal trattamento di compatibilità della fotocamera in modalità di finestra in formato libero per le app con orientamento fisso.

In modalità finestra in formato libero, il trattamento di compatibilità emula l'esecuzione su un dispositivo con orientamento verticale, modificando la finestra dell'app e modificando le caratteristiche della fotocamera in base a ciò che le app normalmente si aspettano in un dispositivo verticale: rotazione del sensore di 90 e 270 gradi rispettivamente per le fotocamere posteriori e anteriori e impostando la rotazione del display su 0.

Utilizza questo flag per disattivare il trattamento di compatibilità per le app che non rispondono bene alla fase.

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

ID modifica: 191514214
Stato predefinito: disattivato per tutte le app.

Se abilitata, questa modifica obbliga i pacchetti applicati a ignorare il valore attuale di android:resizeableActivity e l'SDK target uguale o inferiore a M e a considerare l'attività come non ridimensionabile. In questo caso, il valore della rotazione e del ritaglio della videocamera dipende solo dalla compensazione necessaria considerando la rotazione del display corrente.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

ID modifica: 189229956
Stato predefinito: disattivato per tutte le app.

Se attivata, questa modifica impone ai pacchetti applicati di sostituire il comportamento predefinito di rotazione e ritaglio della fotocamera e restituisce sempre CaptureRequest.SCALER_ROTATE_AND_CROP_NONE.

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

ID modifica: 316897322
Stato predefinito: disattivato per tutte le app.

Se questa opzione è abilitata, gli utenti possono scegliere di acquisire una singola app o l'intero schermo quando avviano una sessione MediaProjection, sostituendo l'utilizzo di MediaProjectionConfig#createConfigForDefaultDisplay.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

ID modifica: 266124927
Stato predefinito: disattivato per tutte le app.

Abilita SCREEN_ORIENTATION_REVERSE_LANDSCAPE per l'app a cui è applicato. A meno che non sia abilitato anche OVERRIDE_ANY_ORIENTATION, SCREEN_ORIENTATION_REVERSE_LANDSCAPE viene utilizzato solo quando l'attività specifica l'orientamento orizzontale. L'attivazione di questa modifica può aiutarti a testare il comportamento della tua app per rilevare eventuali differenze tra i dispositivi in cui l'orientamento orizzontale corrisponde a Surface.ROTATION_90 e i dispositivi in cui corrisponde a Surface.ROTATION_270.

OVERRIDE_MIN_ASPECT_RATIO

ID modifica: 174042980
Stato predefinito: disattivato per tutte le app.

Questa modifica è l'elemento di controllo di tutte le modifiche che forzano un determinato formato minimo. L'attivazione di questa modifica consente di applicare le seguenti proporzioni minime:

Quando questa modifica viene abilitata per un pacchetto dell'app, le proporzioni minime specificate nel file manifest dell'app vengono sostituite dalle proporzioni abilitate più grandi, a meno che il valore manifest dell'app non sia superiore.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

ID modifica: 218959984
Stato predefinito: disattivato per tutte le app.

Quando questa opzione è attiva, sostituisce la limitazione delle proporzioni minime nella modalità a schermo intero verticale per utilizzare tutto lo spazio disponibile sullo schermo.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

ID modifica: 180326787
Stato predefinito: disattivato per tutte le app.

Quando è abilitato anche OVERRIDE_MIN_ASPECT_RATIO, se abiliti questa modifica per un pacchetto le proporzioni minime dell'attività vengono impostate su un valore grande come definito da OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

ID modifica: 180326845
Stato predefinito: disattivato per tutte le app.

Se è abilitata anche OVERRIDE_MIN_ASPECT_RATIO, se abiliti questa modifica per un pacchetto le proporzioni minime dell'attività vengono impostate su un valore medio come definito da OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

ID modifica: 203647190
Stato predefinito: attivata per tutte le app.

Quando è abilitato anche OVERRIDE_MIN_ASPECT_RATIO, questa modifica limita qualsiasi altra modifica che forza le proporzioni minime di un'attività a un determinato valore, come OVERRIDE_MIN_ASPECT_RATIO_LARGE e OVERRIDE_MIN_ASPECT_RATIO_MEDIUM, ad attività che hanno anche un orientamento verticale.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

ID modifica: 236283604
Stato predefinito: disattivato per tutte le app.

Se abilitata, questa modifica esclude i pacchetti a cui viene applicata dalle restrizioni di orientamento Ignora che possono essere impostate dai produttori dei dispositivi.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

ID modifica: 265451093
Stato predefinito: disattivato per tutte le app.

Abilita SCREEN_ORIENTATION_NOSENSOR per l'app a cui è applicato. A meno che non sia abilitato anche OVERRIDE_ANY_ORIENTATION, SCREEN_ORIENTATION_NOSENSOR viene utilizzato solo quando l'attività non specifica nessun altro orientamento fisso.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

ID modifica: 265452344
Stato predefinito: disattivato per tutte le app.

Abilita SCREEN_ORIENTATION_PORTRAIT per l'app a cui è applicato. A meno che non sia abilitato anche OVERRIDE_ANY_ORIENTATION, SCREEN_ORIENTATION_PORTRAIT viene utilizzato solo quando l'attività non specifica nessun altro orientamento fisso.

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

ID modifica: 319400769
Stato predefinito: attivata per le app destinate ad Android 15 o versioni successive.

Quando questa opzione è abilitata, consente l'analisi delle intestazioni Content-Disposition conformi a RFC 6266. In particolare, ciò consente di analizzare i valori filename* che possono utilizzare una codifica dei caratteri diversa.

RATE_LIMIT_TOASTS

ID modifica: 174840628
Stato predefinito: non è possibile attivare/disattivare questa modifica. Viene registrato solo dal framework di compatibilità.

Abilita la limitazione di frequenza del numero di chiamate Toast.show() per evitare di sovraccaricare l'utente con troppi toast in un periodo di tempo limitato. Qualsiasi tentativo di mostrare più toast rispetto a quello consentito in un determinato periodo di tempo comporterà l'eliminazione del toast.

STREAM_INT_DIFFERS_FROM_NEXT_INT

ID modifica: 308103782
Stato predefinito: attivata per le app destinate ad Android 15 o versioni successive.

Quando sono attivati, i metodi Random.ints() ora restituiscono una sequenza di numeri diversa rispetto ai metodi Random.nextInt(). Questa è la conseguenza delle modifiche in https://bugs.openjdk.org/Sfoglia/JDK-8301574.

Per scoprire di più su questa modifica, consulta la sezione della pagina relativa alle modifiche del comportamento di Android 15 sulle modifiche a OpenJDK 17.

USE_EXPERIMENTAL_COMPONENT_ALIAS

ID modifica: 196254758
Stato predefinito: disattivato per tutte le app.

Se abilitato, il sistema consente al pacchetto "android" di utilizzare gli alias dei componenti.

USE_NEW_ISO_LOCALE_CODES

ID modifica: 291868760
Stato predefinito: attivata per le app destinate ad Android 15 o versioni successive.

Quando sono attivati, i codici lingua per ebraico, yiddish e indonesiano non sono più convertiti nelle loro forme obsolete (ebraico: iw, yiddish: ji e indonesiano: in).

Per scoprire di più su questa modifica, consulta la sezione della pagina relativa alle modifiche del comportamento di Android 15 sulle modifiche a OpenJDK 17.