Modifiche al framework di compatibilità (Android 14)

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 14 (livello API 34). Utilizza questo elenco insieme a opzioni sviluppatore e comandi ADB per testa ed esegui il debug della tua app mentre ti prepari a supportare e scegliere come target Android 14.

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 gli switch per attivare forzatamente modifiche specifiche del comportamento in base al targeting per valutare l'impatto sulla tua 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 di compatibilità in Android 14.

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

Modifiche attivabili nel framework di compatibilità in Android 14

ACCESS_SHARED_IDENTITY

ID modifica: 259743961
Stato predefinito: attivo per tutte le app.

Concede l'accesso all'identità dell'app in fase di avvio, se questa viene attivata alla condivisione della propria identità avviando questa attività con un'istanza di ActivityOptions su cui ActivityOptions.setShareIdentityEnabled(boolean) è stato richiamato con il valore true o se l'oggetto l'UID dell'attività corrisponde a quello dell'app in fase di avvio. Quando la modifica è abilitato e uno di questi requisiti è soddisfatto, l'attività può accedi all'UID e al nome del pacchetto dell'app di avvio con Activity.getLaunchedFromUid() e Activity.getLaunchedFromPackage(), rispettivamente.

ANR_PRE_UDC_APIS_ON_SLOW_RESPONSES

Modifica ID: 258236856
Stato predefinito: attivato per le app destinate ad Android 14 (livello API 34) o versioni successive.

Quando questa opzione è abilitata, attiva il messaggio "L'applicazione non risponde" (errore ANR) quando le app sono lente a rispondere su API e funzionalità da Android 13 (livello API 33) o versioni precedenti.

AUTHORITY_ACCESS_CHECK_CHANGE_ID

ID modifica: 207133734
Stato predefinito: abilitato per le app che hanno come target Android 14 (livello API 34) o versioni successive.

Per le app che hanno come target Android 14 (livello API 34) e versioni successive, abilita il controllo dell'accesso alle autorità per l'UID di chiamata su tutti i su quelle di livello inferiore.

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 metodo CompatChanges#isChangeEnabled restituisce true se l'ID modifica non è presente.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_SENDER

Modifica ID: 244637991
Stato predefinito: attivato per le app destinate ad Android 14 (livello API 34) o versioni successive.

Quando un'app invia un PendingIntent tramite PendingIntent#send() o metodi simili, ora l'app deve essere attivata se vuole concedere la sua privilegi di avvio attività in background per avviare l'intento.

Per scoprire di più su questa modifica, consulta la sezione su Android 14 la pagina delle modifiche al comportamento degli utenti limitazioni aggiuntive sull'avvio di attività in background.

DETACH_THROWS_ISE_ONLY

Modifica ID: 236825255
Stato predefinito: attivato per le app destinate ad Android 14 (livello API 34) o versioni successive.

Segnala l'eccezione corretta generata da #detachImage.

#detachImage è documentato come lancio IllegalStateException in caso di errore; un metodo helper nativo a questo RuntimeException se la superficie è stata abbandonata durante lo scollegamento Image.

Questo comportamento delle eccezioni precedentemente non documentate continua Android 13 (livello API 33).

Dopo Android 13 (livello API 33), viene usato solo il metodo helper nativo genera IllegalStateExceptions in conformità con documentazione.

Quando questa modifica è abilitata, #detachImage genera solo un IllegalStateException se si verifica un errore mentre scollegando l'immagine. Il comportamento rimane invariato per il targeting per app Android 13 (livello API 33) e versioni precedenti.

DOWNSCALED

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

Questa modifica è il gatekeeper di tutte le modifiche al ridimensionamento del buffer per app. 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 applicare in modo inverso i seguenti fattori di scalabilità (ovvero la risoluzione viene upscalata):

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% viene utilizzato se sono attivati sia l'80% sia il 70% (DOWNSCALE_80 e DOWNSCALE_70) perché, se applicato in modo inverso, un fattore di scala pari all'80% corrisponde al 125%, che è inferiore alla scala del 142,86% applicata se si applica in modo inverso un fattore di scala pari al 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 è attivata anche la proprietà DOWNSCALED, l'attivazione di questa modifica per un pacchetto forza l'app a supporre di essere in esecuzione su un display con il 30% della risoluzione verticale e orizzontale del display reale. Se anche DOWNSCALED_INVERSE è attivo, l'attivazione di questa modifica per un pacchetto forza l'app a supporre che sia in esecuzione su un display con il 333,33% della risoluzione verticale e 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 anche DOWNSCALED_INVERSE è attivato, l'attivazione di questa modifica per un pacchetto forza l'app a supporre che sia in esecuzione su un display con il 285,71% della risoluzione verticale e 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 anche DOWNSCALED_INVERSE è attivato, l'attivazione di questa modifica per un pacchetto forza l'app a supporre di essere in esecuzione su un display con il 250% della risoluzione verticale e 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

ID modifica: 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 è attivata anche la proprietà DOWNSCALED, l'attivazione di questa modifica per un pacchetto forza l'app a supporre che sia in esecuzione su un display con il 70% della risoluzione verticale e orizzontale 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 anche DOWNSCALED_INVERSE è attivo, l'attivazione di questa modifica per un pacchetto forza l'app a supporre che sia in esecuzione su un display con il 133,33% della risoluzione verticale e 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 è attivata anche la proprietà DOWNSCALED, l'attivazione di questa modifica per un pacchetto forza l'app a supporre che sia in esecuzione su un display con il 90% della risoluzione verticale e orizzontale 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.

ENABLE_PLATFORM_MDNS_BACKEND

Modifica ID: 270306772
Stato predefinito: attivato per le app destinate ad Android 14 (livello API 34) o versioni successive.

Le app destinate ad Android 14 o versioni successive utilizzano una piattaforma integrata implementazione mDNS come backend, mentre le app hanno come target continuano a utilizzare una soluzione legacy Network Service Discovery (NSD) backend (con un daemon nativo legacy come NsdManager ).

ENABLE_SELF_CERTIFIED_CAPABILITIES_DECLARATION

Modifica ID: 266524688
Stato predefinito: attivato per le app destinate ad Android 14 (livello API 34) o versioni successive.

Il controllo delle funzionalità autocertificate è attivo per le app che hanno come target Android 14 o versioni successive. Per maggiori dettagli, consulta NetworkCapabilities.

ENFORCE_PACKAGE_VISIBILITY_FILTERING

Modifica ID: 154726397
Stato predefinito: attivato per le app destinate ad Android 14 (livello API 34) o versioni successive.

Per le app che hanno come target Android 14 (livello API 34) e versioni successive, richiede alle app di dichiarare le esigenze di visibilità del pacchetto nel file manifest per accedere alle API AccountManager.

ENFORCE_READ_ONLY_JAVA_DCL

ID modifica: 218865702
Stato predefinito: abilitato per le app che hanno come target Android 14 (livello API 34) o versioni successive.

Per le app destinate ad Android 14 (livello API 34) e versioni successive, è necessario contrassegnare tutti i file caricati dinamicamente come di sola lettura. Questo impedisce che i file caricati dinamicamente si verifichino inaspettatamente sovrascritti da utenti malintenzionati.

Per scoprire di più su questa modifica, consulta la sezione su Android 14 la pagina delle modifiche al comportamento degli utenti caricamento di un codice dinamico più sicuro.

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.

EXACT_LISTENER_ALARMS_DROPPED_ON_CACHED

ID modifica: 265195908
Stato predefinito: attivo per tutte le app.

Le sveglie esatte che si aspettano un callback AlarmManager.OnAlarmListener vengono ignorate quando l'app chiamante passa a uno stato memorizzato nella cache.

Per scoprire di più sulle modifiche alle sveglie esatte in Android 14, vedi La programmazione di sveglie esatte è negata per impostazione predefinita.

FGS_TYPE_CHECK_FOR_INSTANT_APPS

Modifica ID: 261055255
Stato predefinito: attivato per le app destinate ad Android 14 (livello API 34) o versioni successive.

Se questa opzione è attiva, le app istantanee devono specificare il primo piano appropriato tipi di servizi per tutti i servizi dichiarati nella manifest.

Per saperne di più su questa modifica, consulta la pagina che descrive le modifiche ai tipi di servizi in primo piano.

FGS_TYPE_NONE_DEPRECATION_CHANGE_ID

Modifica ID: 255042465
Stato predefinito: attivato per le app destinate ad Android 14 (livello API 34) o versioni successive.

Se attivi questa opzione, le app che hanno come target Android 14 (livello API 34) e versioni successive che avviano un servizio in primo piano utilizzando FOREGROUND_SERVICE_TYPE_NONE genera un avviso nel log.

Per saperne di più su questa modifica, consulta la pagina che descrive il modifiche ai tipi di servizi in primo piano.

FGS_TYPE_NONE_DISABLED_CHANGE_ID

Modifica ID: 255038118
Stato predefinito: attivato per le app destinate ad Android 14 (livello API 34) o versioni successive.

Se attivi questa opzione, le app che hanno come target Android 14 (livello API 34) e versioni successive che avviano un servizio in primo piano utilizzando FOREGROUND_SERVICE_TYPE_NONE genera un'eccezione.

Per saperne di più su questa modifica, consulta la pagina che descrive le modifiche ai tipi di servizi in primo piano.

FGS_TYPE_PERMISSION_CHANGE_ID

Modifica ID: 254662522
Stato predefinito: attivato per le app destinate ad Android 14 (livello API 34) o versioni successive.

Se questa opzione è attivata, le app che hanno come target Android 14 (livello API 34) e versioni successive e che avviano un servizio in primo piano senza le autorizzazioni richieste associate al tipo di servizio in primo piano generano un messaggio di errore SecurityException.

Per saperne di più su questa modifica, consulta la pagina che descrive le modifiche ai tipi di servizi in primo piano.

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 file manifest, ma questo flag può essere utilizzato per forzare un'app a non supportare HEVC, quindi a forzare la transcodifica durante l'accesso ai contenuti multimediali codificati in 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

ID modifica: 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 sia questo flag sia FORCE_DISABLE_HEVC_SUPPORT sono attivati, 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

ID modifica: 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.

IMPLICIT_INTENTS_ONLY_MATCH_EXPORTED_COMPONENTS

Modifica ID: 229362273
Stato predefinito: attivato per le app destinate ad Android 14 (livello API 34) o versioni successive.

Per le app che hanno come target Android 14 (livello API 34) e versioni successive, i componenti devono essere esportate per poterle richiamare tramite intent impliciti. Se un componente non viene esportato né richiamato, viene rimosso dall'elenco dei destinatari. Questo vale nello specifico per attività e annunci.

Per scoprire di più su questa modifica, consulta la sezione su Android 14 la pagina delle modifiche al comportamento degli utenti restrizioni agli intent impliciti e in attesa.

ID modifica: 266201607
Stato predefinito: abilitato per le app che hanno come target Android 14 (livello API 34) o versioni successive.

Per le app che hanno come target Android 14 (livello API 34) e versioni successive, le app devono: Chiedi all'utente di dare il consenso prima di ogni MediaProjection sessione di acquisizione.

Per scoprire di più su questa modifica, consulta la sezione su Android 14 del comportamento delle modifiche su come il consenso dell'utente è richiesto per ogni MediaProjection sessione di acquisizione.

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

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

Attiva il controllo dei tag di memoria asincroni (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 sincroni (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_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é l'SDK target uguale o inferiore a M e considerano l'attività non ridimensionabili. In questo caso, il valore di Rotazione fotocamera e il raccolto dipende solo dalla compensazione necessaria, considerando la rotazione del display corrente.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

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

Se abilitata, questa modifica forza i pacchetti a cui viene applicata a ignorare il comportamento predefinito di rotazione e ritaglio della fotocamera e a restituire sempre CaptureRequest.SCALER_ROTATE_AND_CROP_NONE.

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_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_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 viene applicato. A meno che OVERRIDE_ANY_ORIENTATION è abilitato anche SCREEN_ORIENTATION_PORTRAIT, utilizzata solo quando l'attività non specifica nessun altro orientamento.

RATE_LIMIT_TOASTS

ID modifica: 174840628
Stato predefinito: questa modifica non può essere attivata o disattivata. 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.

REJECT_NEGATIVE_NETWORK_ESTIMATES

Modifica ID: 253665015
Stato predefinito: attivato per le app destinate ad Android 14 (livello API 34) o versioni successive.

Se abilitata, richiede che i byte di rete stimati siano non negativi.

REQUIRE_NETWORK_CONSTRAINT_FOR_NETWORK_JOB_WORK_ITEMS

Modifica ID: 241104082
Stato predefinito: attivato per le app destinate ad Android 14 (livello API 34) o versioni successive.

Per le app che hanno come target Android 14 (livello API 34) e versioni successive, è necessario il job di hosting per specificare un vincolo di rete se JobWorkItem indica l'utilizzo della rete.

REQUIRE_NETWORK_PERMISSIONS_FOR_CONNECTIVITY_JOBS

Modifica ID: 271850009
Stato predefinito: attivato per le app destinate ad Android 14 (livello API 34) o versioni successive.

Per le app che hanno come target Android 14 (livello API 34) e versioni successive, è necessario per specificare sia INTERNET e ACCESS_NETWORK_STATE delle autorizzazioni quando si pianifica un job con un vincolo di connettività.

THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION

Modifica ID: 255371817
Stato predefinito: attivato per le app destinate ad Android 14 (livello API 34) o versioni successive.

Per le app che hanno come target Android 14 (livello API 34) e versioni successive, genera un'eccezione se un'app non implementa correttamente tutte le API Data Transfer necessarie quando specifichi un prompt avviato dall'utente un job di trasferimento dati.

Per saperne di più su questa modifica, consulta la pagina che descrive come eseguire la migrazione dei servizi in primo piano al trasferimento di dati avviato dall'utente offerte di lavoro.

USE_EXPERIMENTAL_COMPONENT_ALIAS

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

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