Modifiche al framework di compatibilità (Android 15)

Figura 1. Schermata Modifiche compatibilità app nella versione per sviluppatori elenca le modifiche che puoi attivare/disattivare.

Questa pagina descrive le modifiche attivabili che fanno parte della compatibilità in Android 15 (livello API 35). Utilizza questo elenco insieme a opzioni sviluppatore e 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 di compatibilità:

  • Testa le modifiche mirate senza modificare di fatto il nome targetSdkVersion. Puoi utilizzare i pulsanti di attivazione/disattivazione per forzare l'attivazione di specifiche modifiche al comportamento target per valutarne l'impatto sull'app esistente.
  • Concentra i test solo su modifiche specifiche. Invece di doverli per risolvere contemporaneamente tutte le modifiche mirate, i pulsanti di attivazione/disattivazione ti consentono di disattivare modifiche target, tranne quelle da utilizzare per il test.
  • Gestisci i pulsanti di attivazione/disattivazione tramite ADB. Puoi usare i comandi adb attiva e disattiva le modifiche attivabili nel test automatico completamente gestito di Google Cloud.
  • Esegui il debug più rapidamente utilizzando gli ID delle modifiche standard. Le modifiche attivabili hanno ciascuna un ID e un nome univoci utilizzabili per eseguire rapidamente il debug della causa principale come output di log.

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

Modifiche del comportamento incluse nel framework di compatibilità

L'elenco in questa sezione descrive le modifiche attivabili incluse nella framework di compatibilità per le modifiche relative ad Android 15 e modifiche attivabili che può aiutarti con i test generali dell'app.

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

Modifiche attivabili nel framework di compatibilità in Android 15

CAMERA_MIC_INDICATORS_NOT_PRESENT

Modifica ID: 162547999
Stato predefinito: disabilitato per tutte le app.

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

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

Modifica ID: 320741775
Stato predefinito: attivato per le app destinate ad Android 15 (livello API 35) o versioni successive.

Quando l'opzione è attiva, isSessionConfigurationSupported verifica anche la compatibilità dei parametri di sessione se supportati l'HAL.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

Modifica ID: 296478951
Stato predefinito: attivato per le app destinate ad Android 15 (livello API 35) o versioni successive.

Quando questa opzione è attiva, l'autore di un blocco PendingIntent lanci di attività in background per impostazione predefinita.

Per scoprire di più su questa modifica, consulta la sezione su Android 15 la pagina delle modifiche al comportamento degli utenti Lanci di attività in background protette.

DEPRECATE_UI_FONT

Modifica ID: 279646685
Stato predefinito: attivato per le app destinate ad Android 15 (livello API 35) o versioni successive.

Quando questa opzione è abilitata, L'attributo elegantTextHeight TextView diventa true per impostazione predefinita se la tua app è in esecuzione su un dispositivo con Android 15 o versioni successive e sostituisce il carattere compatto utilizzato per impostazione predefinita con alcuni script con grandi metriche verticali, di cui una molto più leggibile.

Per scoprire di più su questa modifica, consulta la sezione su Android 15 la pagina delle modifiche al comportamento degli utenti Il valore predefinito dell'attributo eleganteTextHeight è true.

DOWNSCALED

Modifica ID: 168419799
Stato predefinito: disabilitato per tutte le app.

Questa modifica funge da punto di riferimento per tutto il downscaling del buffer per app modifiche. Se abiliti questa modifica, i seguenti fattori di scalabilità potranno essere applicare:

Quando questa modifica viene abilitata per un pacchetto dell'app, l'app viene ridimensionato al fattore di ridimensionamento abilitato più alto. Ad esempio, l'80% è utilizzata se sia l'80% che il 70% (DOWNSCALE_80 e DOWNSCALE_70) sono abilitate. Quando sia questa modifica DOWNSCALED_INVERSE sono attivata, DOWNSCALED_INVERSE: ha la precedenza e il fattore di scala viene applicato invertito.

DOWNSCALED_INVERSE

Modifica ID: 273564678
Stato predefinito: disabilitato per tutte le app.

Questa modifica determina l'inverso di tutto il buffer per app delle modifiche al downscaling. L'attivazione di questa modifica consente: di fattori di scala da applicare in modo inverso (ovvero, la risoluzione viene migliorato):

Quando questa modifica viene abilitata per un pacchetto dell'app, l'app viene ridimensionato al fattore di scala abilitato più basso. Ad esempio, l'80% è utilizzata se sia l'80% che il 70% (DOWNSCALE_80 e DOWNSCALE_70) sono attivate perché se applicato al contrario, un fattore di scala dell'80% equivale al 125%, inferiore alla scala del 142,86% applicata quando applicando un fattore di scala del 70%. Quando sia questa modifica DOWNSCALED sono attivata, DOWNSCALED_INVERSE ha la precedenza e il fattore di scala viene applicato invertito.

DOWNSCALE_30

Modifica ID: 189970040
Stato predefinito: disabilitato per tutte le app.

Se DOWNSCALED è anche abilitata, l'attivazione di questa modifica per un pacchetto impone all'app di assumere viene mostrata su un display con il 30% dei campi verticali e orizzontali risoluzione del display reale. Se DOWNSCALED_INVERSE è attiva anche l'opzione, l'attivazione di questa modifica per un pacchetto impone all'app supponiamo che sia in esecuzione su un display con il 333,33% risoluzione orizzontale del display reale.

DOWNSCALE_35

Modifica ID: 189969749
Stato predefinito: disabilitato per tutte le app.

Se DOWNSCALED è anche abilitata, l'attivazione di questa modifica per un pacchetto impone all'app di assumere viene mostrata su un display con il 35% dei campi verticali e orizzontali risoluzione del display reale. Se DOWNSCALED_INVERSE è attiva anche l'opzione, l'attivazione di questa modifica per un pacchetto impone all'app supponiamo che sia in esecuzione su un display con il 285,71% risoluzione orizzontale del display reale.

DOWNSCALE_40

Modifica ID: 189970038
Stato predefinito: disabilitato per tutte le app.

Se DOWNSCALED è anche abilitata, l'attivazione di questa modifica per un pacchetto impone all'app di assumere viene mostrata su un display con il 40% dei campi verticali e orizzontali risoluzione del display reale. Se DOWNSCALED_INVERSE è attiva anche l'opzione, l'attivazione di questa modifica per un pacchetto impone all'app supponiamo che sia in esecuzione su un display con il 250% dello spazio risoluzione orizzontale del display reale.

DOWNSCALE_45

Modifica ID: 189969782
Stato predefinito: disabilitato per tutte le app.

Se DOWNSCALED è anche abilitata, l'attivazione di questa modifica per un pacchetto impone all'app di assumere viene eseguita su un display con il 45% dei campi verticali e orizzontali risoluzione del display reale. Se DOWNSCALED_INVERSE è attiva anche l'opzione, l'attivazione di questa modifica per un pacchetto impone all'app supponiamo che stia funzionando su un display con il 222,22% dei risoluzione orizzontale del display reale.

DOWNSCALE_50

Modifica ID: 176926741
Stato predefinito: disabilitato per tutte le app.

Se DOWNSCALED è anche abilitata, l'attivazione di questa modifica per un pacchetto impone all'app di assumere viene mostrata su un display con il 50% dei campi verticali e orizzontali risoluzione del display reale. Se DOWNSCALED_INVERSE è attiva anche l'opzione, l'attivazione di questa modifica per un pacchetto impone all'app supponiamo che sia in esecuzione su un display con il 200% dello spazio risoluzione orizzontale del display reale.

DOWNSCALE_55

Modifica ID: 189970036
Stato predefinito: disabilitato per tutte le app.

Se DOWNSCALED è anche abilitata, l'attivazione di questa modifica per un pacchetto impone all'app di assumere viene mostrata su un display con il 55% dei campi verticali e orizzontali risoluzione del display reale. Se DOWNSCALED_INVERSE è attiva anche l'opzione, l'attivazione di questa modifica per un pacchetto impone all'app supponiamo che sia in esecuzione su un display con il 181,82% risoluzione orizzontale del display reale.

DOWNSCALE_60

Modifica ID: 176926771
Stato predefinito: disabilitato per tutte le app.

Se DOWNSCALED è anche abilitata, l'attivazione di questa modifica per un pacchetto impone all'app di assumere viene mostrata su un display con il 60% dei campi verticali e orizzontali risoluzione del display reale. Se DOWNSCALED_INVERSE è attiva anche l'opzione, l'attivazione di questa modifica per un pacchetto impone all'app supponiamo che sia in esecuzione su un display con il 166,67% risoluzione orizzontale del display reale.

DOWNSCALE_65

Modifica ID: 189969744
Stato predefinito: disabilitato per tutte le app.

Se DOWNSCALED è anche abilitata, l'attivazione di questa modifica per un pacchetto impone all'app di assumere viene mostrata su un display con il 65% dei campi verticali e orizzontali risoluzione del display reale. Se DOWNSCALED_INVERSE è attiva anche l'opzione, l'attivazione di questa modifica per un pacchetto impone all'app supponiamo che sia in esecuzione su un display con il 153,85% risoluzione orizzontale del display reale.

DOWNSCALE_70

Modifica ID: 176926829
Stato predefinito: disabilitato per tutte le app.

Se DOWNSCALED è anche abilitata, l'attivazione di questa modifica per un pacchetto impone all'app di assumere viene mostrata su un display con il 70% dei campi verticali e orizzontali risoluzione del display reale. Se DOWNSCALED_INVERSE è attiva anche l'opzione, l'attivazione di questa modifica per un pacchetto impone all'app supponiamo che sia in esecuzione su un display con il 142,86% risoluzione orizzontale del display reale.

DOWNSCALE_75

Modifica ID: 189969779
Stato predefinito: disabilitato per tutte le app.

Se DOWNSCALED è anche abilitata, l'attivazione di questa modifica per un pacchetto impone all'app di assumere viene mostrata su un display con il 75% dei campi verticali e orizzontali risoluzione del display reale. Se DOWNSCALED_INVERSE è attiva anche l'opzione, l'attivazione di questa modifica per un pacchetto impone all'app supponiamo che sia in esecuzione su un display con il 133,33% risoluzione orizzontale del display reale.

DOWNSCALE_80

Modifica ID: 176926753
Stato predefinito: disabilitato per tutte le app.

Se DOWNSCALED è anche abilitata, l'attivazione di questa modifica per un pacchetto impone all'app di assumere viene eseguita su un display con l'80% dei campi verticali e orizzontali risoluzione del display reale. Se DOWNSCALED_INVERSE è attiva anche l'opzione, l'attivazione di questa modifica per un pacchetto impone all'app supponiamo che sia in esecuzione su un display con il 125% della risoluzione orizzontale del display reale.

DOWNSCALE_85

Modifica ID: 189969734
Stato predefinito: disabilitato per tutte le app.

Se DOWNSCALED è anche abilitata, l'attivazione di questa modifica per un pacchetto impone all'app di assumere viene eseguita su un display con l'85% dei campi verticali e orizzontali risoluzione del display reale. Se DOWNSCALED_INVERSE è attiva anche l'opzione, l'attivazione di questa modifica per un pacchetto impone all'app supponiamo che sia in esecuzione su un display con il 117,65% risoluzione orizzontale del display reale.

DOWNSCALE_90

Modifica ID: 182811243
Stato predefinito: disabilitato per tutte le app.

Se DOWNSCALED è anche abilitata, l'attivazione di questa modifica per un pacchetto impone all'app di assumere viene eseguita su un display con il 90% dei campi verticali e orizzontali risoluzione del display reale. Se DOWNSCALED_INVERSE è attiva anche l'opzione, l'attivazione di questa modifica per un pacchetto impone all'app supponiamo che sia in esecuzione su un display con l'111,11% della risoluzione orizzontale del display reale.

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

Modifica ID: 202956589
Stato predefinito: attivato per le app destinate ad Android 15 (livello API 35) o versioni successive.

Quando questa opzione è abilitata, quando in uso Arrays.asList(...).toArray(), il tipo di componente del l'array risultante è ora Object—non il tipo di elementi dell'array sottostante. Quindi il seguente codice lancia uno ClassCastException:

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

In questo caso, per mantenere String come componente di testo nell'array risultante, puoi utilizzare Collection.toArray(Object[]) anziché:

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

Per scoprire di più su questa modifica, consulta la sezione su Android 15 la pagina delle modifiche al comportamento degli utenti Modifiche all'API OpenJDK.

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

Modifica ID: 324203798
Stato predefinito: attivato per le app destinate ad Android 15 (livello API 35) o versioni successive.

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

ENABLE_MATCH_LOCAL_NETWORK

Modifica ID: 319212206
Stato predefinito: attivato per le app destinate ad Android 15 (livello API 35) o versioni successive.

Quando l'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 alla NetworkCapabilities di NetworkRequest per ricevere ConnectivityManager.NetworkCallback dalle reti locali.

ENABLE_STRICT_FORMATTER_VALIDATION

Modifica ID: 270674727
Stato predefinito: attivato per le app destinate ad Android 15 (livello API 35) o versioni successive.

Se abilitata, la convalida di indice, flag, larghezza e precisione dell'argomento è ora più rigorosa quando si utilizza il metodo String.format() e Formatter.format() API.

Per scoprire di più su questa modifica, consulta la sezione su Android 15 la pagina delle modifiche al comportamento degli utenti Modifiche all'API OpenJDK.

ENFORCE_EDGE_TO_EDGE

Modifica ID: 309578419
Stato predefinito: attivato per le app destinate ad Android 15 (livello API 35) o versioni successive.

Quando l'opzione è abilitata, la configurazione predefinita delle app sarà edge-to-edge sui dispositivi con Android 15 o versioni successive.

Per scoprire di più su questa modifica, consulta la sezione su Android 15 la pagina delle modifiche al comportamento degli utenti Applicazione edge-to-edge.

ENFORCE_STRICT_QUERY_BUILDER

Modifica ID: 143231523
Stato predefinito: disabilitato per tutte le app.

Se l'opzione è attiva, SQLiteQueryBuilder verifica tutti CalendarProvider2 selezioni di query rispetto a argomenti.

FGS_BOOT_COMPLETED_RESTRICTIONS

Modifica ID: 296558535
Stato predefinito: attivato per le app destinate ad Android 15 (livello API 35) o versioni successive.

Se questa opzione è abilitata, il background dei servizi in primo piano viene disattivato da BOOT_COMPLETED trasmissioni per tutti i tipi tranne:

Per scoprire di più su questa modifica, consulta la sezione su Android 15 la pagina delle modifiche al comportamento degli utenti Limitazioni per BOOT_COMPLETED broadcast receiver avviare i servizi in primo piano.

FGS_INTRODUCE_TIME_LIMITS

Modifica ID: 317799821
Stato predefinito: attivato per le app destinate ad Android 15 (livello API 35) o versioni successive.

Se attivi questa opzione, i servizi in primo piano di alcuni tipi hanno un limite di tempo. Se il servizio in primo piano del tipo con problemi non viene interrotto entro il limite di tempo allocato, riceverà un callback utilizzando Service.onTimeout(int, int) e dovrà essere interrotto entro pochi secondi. Se un'app non riesce a farlo, viene dichiarato un errore ANR.

Per saperne di più su questa modifica, consulta le sezioni nella guida Pagina 15 modifiche al comportamento sul comportamento di timeout per la sincronizzazione dei dati . elaborazione dei contenuti multimediali i tipi di servizi in primo piano.

FGS_SAW_RESTRICTIONS

Modifica ID: 319471980
Stato predefinito: attivato per le app destinate ad Android 15 (livello API 35) o versioni successive.

Se questa opzione è abilitata, gli avvii in background del servizio in primo piano nella finestra di avviso del sistema per tutti i tipi vengono disattivati, a meno che non abbia già una finestra di overlay di sistema.

Per scoprire di più su questa modifica, consulta la sezione su Android 15 la pagina delle modifiche al comportamento degli utenti Limitazioni relative all'avvio di servizi in primo piano quando un'app conserva l'autorizzazione SYSTEM_ALERT_WINDOW.

FORCE_DISABLE_HEVC_SUPPORT

Modifica ID: 174227820
Stato predefinito: disabilitato per tutte le app.

Forza la disattivazione di un'app in modo che non supporti la funzionalità dei contenuti multimediali HEVC. Le app devono dichiarare le funzionalità multimediali supportate nel proprio ma questo flag può essere usato per forzare un'app a non supportando HEVC, forzando di conseguenza la transcodifica durante l'accesso ai contenuti multimediali con codifica HEVC. L'impostazione di questo flag sostituisce eventuali valori predefiniti a livello di sistema operativo per le app. È disattivato per impostazione predefinita, il che significa che le impostazioni predefinite del sistema operativo hanno la precedenza. Se sia il flag sia Le FORCE_ENABLE_HEVC_SUPPORT sono attivate, il sistema operativo ignora entrambi i flag.

FORCE_ENABLE_HEVC_SUPPORT

Modifica ID: 174228127
Stato predefinito: disabilitato per tutte le app.

Forza l'attivazione di un'app per supportare la funzionalità multimediale HEVC devono dichiarare le funzionalità multimediali supportate nel file manifest ma questo flag può essere usato per forzare l'app a supportare HEVC, evitando la transcodifica durante l'accesso a contenuti multimediali codificati in HEVC. Impostazione questo flag sostituisce qualsiasi impostazione predefinita a livello di sistema operativo per le app. È disattivato da predefinito, il che significa che le impostazioni predefinite del sistema operativo hanno la precedenza. Se entrambi questo flag e FORCE_DISABLE_HEVC_SUPPORT sono abilitati, il sistema operativo ignora entrambi i flag.

FORCE_NON_RESIZE_APP

Modifica ID: 181146395
Stato predefinito: disabilitato per tutte le app.

Obbliga i pacchetti a cui viene applicato come non ridimensionabili.

FORCE_RESIZE_APP

Modifica ID: 174042936
Stato predefinito: disabilitato per tutte le app.

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

GWP_ASAN

Modifica ID: 145634846
Stato predefinito: disabilitato per tutte le app.

Consente il rilevamento di bug relativi alla memoria nativa campionata nelle app.

Per scoprire di più sull'utilizzo di GWP-ASan, consulta Guida per GWP-ASan.

IS_DEVICE_OWNER_USER_AWARE

Modifica ID: 307233716
Stato predefinito: attivato per le app destinate ad Android 15 (livello API 35) 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 della procedura di chiamata. (Process.myUserHandle()).

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

Modifica ID: 308670109
Stato predefinito: attivato per le app destinate ad Android 15 (livello API 35) o versioni successive.

Quando l'opzione è attiva, le app non possono più modificare lo stato globale o il criterio Non disturbare su un dispositivo (modificando le impostazioni utente o disattivando la modalità Non disturbare). Le app devono invece contribuire AutomaticZenRule, che il sistema combina in una policy globale con lo schema esistente più restrittivo-policy-wins.

Per scoprire di più su questa modifica, consulta la sezione su Android 15 la pagina delle modifiche al comportamento degli utenti Modifica le impostazioni relative a quando le app possono modificare lo stato globale della modalità Non disturbare.

NATIVE_HEAP_ZERO_INIT

Modifica ID: 178038272
Stato predefinito: disabilitato per tutte le app.

Abilita l'inizializzazione automatica zero della memoria heap nativa allocazioni.

NATIVE_MEMTAG_ASYNC

Modifica ID: 145772972
Stato predefinito: disabilitato per tutte le app.

Attiva il controllo dei tag di memoria asincrono (ASYNC) in questo processo. Questo flag riguarda solo l'hardware che supporta il tagging della memoria ARM Estensione (MTE).

NATIVE_MEMTAG_SYNC

Modifica ID: 177438394
Stato predefinito: disabilitato per tutte le app.

Consente il controllo dei tag di memoria sincrona (SYNC) in questo processo. Questo flag riguarda solo l'hardware che supporta il tagging della memoria ARM Estensione (MTE). Se sia NATIVE_MEMTAG_ASYNC sia questo sono attivate, questa opzione ha la precedenza e la funzionalità MTE è attiva in modalità SYNC.

OVERRIDE_ANY_ORIENTATION

Modifica ID: 265464455
Stato predefinito: disabilitato per tutte le app.

Quando è attiva, questa modifica consente il seguente orientamento le sostituzioni verranno applicate a prescindere dall'orientamento richiesto l'attività:

OVERRIDE_ANY_ORIENTATION_TO_USER

Modifica ID: 310816437
Stato predefinito: disabilitato per tutte le app.

Quando è abilitato, abilita SCREEN_ORIENTATION_USER, che sostituisce qualsiasi orientamento richiesto dall'attività. Risolti le app di orientamento possono essere sostituite a schermo intero su uno schermo grande dispositivi con ignoreOrientationRequest abilitato con questa funzionalità eseguire l'override.

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

Modifica ID: 314961188
Stato predefinito: disabilitato per tutte le app.

Se questa opzione è attiva, i pacchetti a cui viene applicato l'override vengono esclusi dalla compatibilità della fotocamera in modalità di windowing in formato libero per le app con orientamento fisso.

Nella modalità windowing in formato libero, il trattamento di compatibilità emula la corsa su un dispositivo verticale modificando le caratteristiche della fotocamera in modalità letterbox e modificando le caratteristiche della fotocamera in base a ciò che le app si aspettano comunemente in un dispositivo verticale: rotazione del sensore a 90 e 270 gradi rispettivamente per la fotocamera posteriore e anteriore e l'impostazione della rotazione del display su 0.

Utilizza questo flag per disattivare il trattamento della compatibilità per le app che non rispondono bene al trattamento.

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

Modifica ID: 191514214
Stato predefinito: disabilitato per tutte le app.

Quando è abilitata, questa modifica forza i pacchetti a cui viene applicata ignora il valore corrente di android:resizeableActivity nonché un SDK target uguale o precedente ad Android 6.0 (livello API 23) e considerare l'attività come non ridimensionabile. In questo caso, il valore di rotazione e ritaglio della fotocamera dipende solo dalle automatica considerando l'attuale rotazione del display.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

Modifica ID: 189229956
Stato predefinito: disabilitato per tutte le app.

Quando è abilitata, questa modifica forza i pacchetti a cui viene applicata sostituiscono il comportamento predefinito di rotazione e ritaglio della fotocamera e restituisce CaptureRequest.SCALER_ROTATE_AND_CROP_NONE.

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

Modifica ID: 316897322
Stato predefinito: disabilitato per tutte le app.

Se questa opzione è attiva, consente agli utenti di scegliere se acquisire una singola app o l'intero schermo all'avvio di una sessione MediaProjection, eseguendo l'override dell'utilizzo di MediaProjectionConfig#createConfigForDefaultDisplay

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

Modifica ID: 266124927
Stato predefinito: disabilitato per tutte le app.

Attiva SCREEN_ORIENTATION_REVERSE_LANDSCAPE per l'app a cui è applicato. A meno che OVERRIDE_ANY_ORIENTATION è abilitato anche SCREEN_ORIENTATION_REVERSE_LANDSCAPE, utilizzato solo quando l'attività specifica l'orientamento orizzontale. Abilitazione in corso... questa modifica può aiutarti a verificare le differenze nel comportamento della tua app tra i dispositivi a cui corrisponde l'orientamento orizzontale Surface.ROTATION_90 e i dispositivi a cui corrisponde Surface.ROTATION_270.

OVERRIDE_LAYOUT_IN_DISPLAY_CUTOUT_MODE

Modifica ID: 332679525
Stato predefinito: disabilitato per tutte le app.

Quando questa opzione è attiva, sostituisce il comportamento della modalità ritaglio display. Questo vale solo se non viene applicato l'edge-to-edge.

OVERRIDE_MIN_ASPECT_RATIO

Modifica ID: 174042980
Stato predefinito: disabilitato per tutte le app.

Questa modifica determina tutte le modifiche che forzano determinate proporzioni minime. L'attivazione di questa modifica consente il seguente aspetto minimo proporzioni da applicare:

Quando questa modifica è abilitata per un pacchetto di app, l'aspetto minimo rapporto specificato nel file manifest dell'app viene sostituito al valore più grande proporzioni, a meno che il valore del file manifest dell'app non sia più elevato.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

Modifica ID: 218959984
Stato predefinito: disabilitato per tutte le app.

Quando questa opzione è abilitata, sostituisce la restrizione relativa alle proporzioni minime in verticale per utilizzare tutto lo spazio disponibile sullo schermo.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

Modifica ID: 180326787
Stato predefinito: disabilitato per tutte le app.

Quando OVERRIDE_MIN_ASPECT_RATIO è abilitata anche la relativa opzione, abilitando questa modifica per un pacchetto proporzioni minime dell'attività a un valore elevato come definito OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

Modifica ID: 180326845
Stato predefinito: disabilitato per tutte le app.

Quando OVERRIDE_MIN_ASPECT_RATIO è abilitata anche la relativa opzione, abilitando questa modifica per un pacchetto dalle proporzioni minime dell'attività a un valore medio come definito OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA

Modifica ID: 325586858
Stato predefinito: disabilitato per tutte le app.

Quando questa opzione è abilitata, limita i trattamenti che obbligano l'applicazione a una determinata proporzione minima in modo che vengano applicati solo quando un'app è connessa alla videocamera.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

Modifica ID: 203647190
Stato predefinito: attiva per tutte le app.

Quando OVERRIDE_MIN_ASPECT_RATIO è abilitata, questa modifica limita qualsiasi altra modifica che forza una proporzioni minime dell'attività a un determinato valore, ad esempio OVERRIDE_MIN_ASPECT_RATIO_LARGE e OVERRIDE_MIN_ASPECT_RATIO_MEDIUM: per anche le attività con orientamento verticale.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

Modifica ID: 236283604
Stato predefinito: disabilitato per tutte le app.

Se abilitata, questa modifica esclude i pacchetti applicati a da ignorare le limitazioni di orientamento che i produttori che puoi impostare.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

Modifica ID: 265451093
Stato predefinito: disabilitato per tutte le app.

Attiva SCREEN_ORIENTATION_NOSENSOR per l'app a cui è applicato. A meno che OVERRIDE_ANY_ORIENTATION è abilitato anche SCREEN_ORIENTATION_NOSENSOR, utilizzata solo quando l'attività non specifica nessun altro orientamento.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

Modifica ID: 265452344
Stato predefinito: disabilitato per tutte le app.

Attiva SCREEN_ORIENTATION_PORTRAIT per l'app a cui è applicato. A meno che OVERRIDE_ANY_ORIENTATION è abilitato anche SCREEN_ORIENTATION_PORTRAIT, utilizzata solo quando l'attività non specifica nessun altro orientamento.

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

Modifica ID: 319400769
Stato predefinito: attivato per le app destinate ad Android 15 (livello API 35) o versioni successive.

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

RATE_LIMIT_TOASTS

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

Consente la limitazione di frequenza del numero di Toast.show() per evitare di sovraccaricare l'utente con troppi toast in un per un periodo di tempo limitato. Qualsiasi tentativo di mostrare più toast di quanto consentito in un un determinato periodo di tempo comporta l'eliminazione del toast.

STREAM_INT_DIFFERS_FROM_NEXT_INT

Modifica ID: 308103782
Stato predefinito: attivato per le app destinate ad Android 15 (livello API 35) o versioni successive.

Quando vengono attivati, i metodi Random.ints() ora restituiscono un valore sequenza di numeri diversa rispetto a Random.nextInt() più efficaci. Questo deriva dalle modifiche https://bugs.openjdk.org/browse/JDK-8301574

Per scoprire di più su questa modifica, consulta la sezione su Android 15 la pagina delle modifiche al comportamento degli utenti Modifiche all'API OpenJDK.

USE_EXPERIMENTAL_COMPONENT_ALIAS

Modifica ID: 196254758
Stato predefinito: disabilitato per tutte le app.

Quando questa opzione è attiva, il sistema consente ad "android" pacchetto da utilizzare alias dei componenti.

USE_NEW_ISO_LOCALE_CODES

Modifica ID: 291868760
Stato predefinito: attivato per le app destinate ad Android 15 (livello API 35) o versioni successive.

Quando l'opzione è attiva, i codici lingua per ebraico, yiddish e indonesiano non vengono più convertiti nelle loro forme obsolete (ebraico: iw, yiddish: ji e indonesiano: in).

Per scoprire di più su questa modifica, consulta la sezione su Android 15 la pagina delle modifiche al comportamento degli utenti Modifiche all'API OpenJDK.