| ID modifica: 185004937ALWAYS_SANDBOX_DISPLAY_APIS
Stato predefinito: disattivato per tutte le app.
 
 Se abilitata, applica il sandboxing dell'API Display a un pacchetto
           indipendentemente dalla modalità finestra. Le API Display forniranno sempre
           i limiti dell'app. Per saperne di più su questa modifica, consulta la sezione della pagina
           Modifiche del comportamento di Android 12 relativa ai
           
           Metodi di visualizzazione ritirati. | 
      
        | ID modifica: 163400105AUTOFILL_NON_TEXT_REQUIRES_ON_RECEIVE_CONTENT_LISTENER
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 32) o versioni successive.
 
 A partire da Android 12, la piattaforma può fornire suggerimenti non testuali (come immagini) utilizzando il framework di compilazione automatica aumentata (vedi servizi di compilazione automatica). Affinché un'app possa gestire questi suggerimenti,
             in genere deve implementare l'API OnReceiveContentListener. Per semplificare l'adozione di questa API per le app che hanno implementato in precedenza l'API
             InputConnection.commitContent(InputContentInfo, int, Bundle), la riutilizziamo come fallback seOnReceiveContentListenernon è ancora implementata dall'app. Questo fallback è abilitato solo su
             Android 12 (livello API 31). Questo ID modifica disattiva il fallback, in modo che le app che hanno come target Android 12 (livello API 32) e versioni successive devono implementare l'APIOnReceiveContentListenerper accettare i suggerimenti non di testo. | 
      
        | ID modifica:157929241BLOCK_FLAG_SLIPPERY
Stato predefinito: attivato per tutte le app.
 
 Per le app in esecuzione su Android 12 (livello API 31), verifica se
             FLAG_SLIPPERYviene utilizzato con finestre nell'app. Prevediamo che questo flag venga utilizzato probabilmente solo dai componenti di sistema, in quanto è un
             campo non supportato. In caso affermativo, verrà limitato. | 
      
        | ID modifica: 144027538BLOCK_GPS_STATUS_USAGE
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, tutto l'utilizzo dell'API GpsStatusdeve essere sostituito con le APIGnssStatus. | 
      
        | ID modifica: 171317480BLOCK_IMMUTABLE_PENDING_INTENTS
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app destinate ad Android 12 (livello API 31) e versioni successive, gli oggetti PendingIntentimmutabili passati alle API di localizzazione genereranno unIllegalArgumentException. | 
      
        | ID modifica: 169887240BLOCK_PENDING_INTENT_SYSTEM_API_USAGE
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, le API di sistema LocationRequestnon possono essere utilizzate con le richieste di localizzazionePendingIntent. | 
      
        | ID modifica: 158002302BLOCK_UNTRUSTED_TOUCHES
Stato predefinito: abilitato per tutte le app.
 
 Per preservare la sicurezza del sistema e una buona esperienza utente, Android 12 impedisce alle app di consumare eventi tocco
            quando una sovrapposizione blocca l'app in modo non sicuro. Per saperne di più su questa modifica, consulta Gli eventi tocco non attendibili vengono bloccati. | 
      
        | ID modifica: 78294732CALL_ACTIVITY_RESULT_BEFORE_RESUME
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 32) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 32) e versioni successive, corregge il ciclo di vita del risultato dell'attività per garantire che un'attività riceva
             il risultato dell'attività appena prima della ripresa. | 
      
        | ID modifica: 162547999CAMERA_MIC_INDICATORS_NOT_PRESENT
Stato predefinito: disattivato per tutte le app.
 
 Indica che questo dispositivo supporta gli indicatori di fotocamera e microfono. Sarà falsese
           presente, perché il metodoCompatChanges#isChangeEnabledrestituiscetruese l'ID modifica non è presente. | 
      
        | ID modifica: 146211400CANNOT_INSTALL_WITH_BAD_PERMISSION_GROUPS
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 32) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 32) e versioni successive, il gestore dei pacchetti non installerà un pacchetto se sono presenti gruppi di autorizzazioni non validi.
             I gruppi di autorizzazioni devono essere condivisi solo tra le app che condividono un certificato. Se un'autorizzazione appartiene a un gruppo, deve essere definito anche il gruppo. | 
      
        | ID modifica:181350407CHANGE_ID_AUTH_STATE_DENIED
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app client che hanno come target Android 12 (livello API 31) e versioni successive, viene generato un SecurityExceptionquando si trovano nello stato di autorizzazione
             negata e tentano di inviare un messaggio a una nanoapp. | 
      
        | ID modifica:136069189CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSION
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, viene generata un'SecurityExceptionquando non dispongono dell'autorizzazioneHIGH_SAMPLING_RATE_SENSORS, vengono eseguite in modalità di debug e richiedono frequenze di campionamento superiori a 200 Hz. | 
      
        | ID modifica: 73144566DELIVER_HISTORICAL_LOCATIONS
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, i client di localizzazione potrebbero ricevere posizioni storiche (precedenti al
           momento attuale) in alcune circostanze. | 
      
        | ID modifica:181658987DISPLAY_INFO_NR_ADVANCED_SUPPORTED
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, fornisce la compatibilità con le versioni precedenti per le modifiche apportate a TelephonyDisplayInfo. | 
      
        | ID modifica: 170503758DISPLAY_MODE_RETURNS_PHYSICAL_REFRESH_RATE
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, la piattaforma potrebbe ridurre la frequenza dei fotogrammi di un'app a un divisore della
             frequenza di aggiornamento se è più preferibile (ad esempio, se l'app ha chiamato Surface.setFrameRate(float, int)).
             Le app riceveranno callbackChoreographer.postFrameCallback(Choreographer.FrameCallback)e contropressione alla frequenza dei fotogrammi ridotta. Le app utilizzanoDisplay.getRefreshRate()eDisplay.Mode.getRefreshRate()per conoscere la frequenza di aggiornamento del display.Display.getRefreshRate()restituirà sempre la frequenza fotogrammi dell'applicazione e non la frequenza di aggiornamento del display fisico per consentire
             alle app di eseguire correttamente la spaziatura dei fotogrammi.Display.Mode.getRefreshRate()restituirà il frame rate dell'app se compilata per una release precedente e, a partire da Android 12 (livello API 31), restituirà la frequenza di aggiornamento del display fisico. | 
      
        | ID modifica:168419799DOWNSCALED
Stato predefinito: disattivato per tutte le app.
 
 Questa modifica è il gatekeeper di tutte le modifiche al ridimensionamento del buffer per app. L'attivazione di questa modifica consente di applicare i seguenti fattori di scalabilità: Quando questa modifica è attivata per un pacchetto app, l'app viene ridimensionata forzatamente
          al fattore di scalabilità più elevato e abilitato. Ad esempio, viene utilizzato l'80% se sono attivati sia l'80% che il 70% (DOWNSCALE_80eDOWNSCALE_70). | 
      
        | ID modifica:189970040DOWNSCALE_30
Stato predefinito: disattivato per tutte le app.
 
 Se è attivata anche l'opzione DOWNSCALED, l'attivazione di questa modifica per un pacchetto costringe l'app a presupporre di essere in esecuzione su un display con il 30% della risoluzione verticale e orizzontale del display reale. | 
      
        | ID modifica:189969749DOWNSCALE_35
Stato predefinito: disattivato per tutte le app.
 
 Se è attivata anche l'opzione DOWNSCALED, l'attivazione di questa modifica per un pacchetto costringe l'app a presupporre di essere in esecuzione su un display con il 35% della risoluzione verticale e orizzontale del display reale. | 
      
        | ID modifica:189970038DOWNSCALE_40
Stato predefinito: disattivato per tutte le app.
 
 Se è attivata anche l'opzione DOWNSCALED, l'attivazione di questa modifica per un pacchetto costringe l'app a presupporre di essere in esecuzione su un display con il 40% della risoluzione verticale e orizzontale del display reale. | 
      
        | ID modifica:189969782DOWNSCALE_45
Stato predefinito: disattivato per tutte le app.
 
 Se è attivata anche l'opzione DOWNSCALED, l'attivazione di questa modifica per un pacchetto costringe l'app a presupporre di essere in esecuzione su un display con il 45% della risoluzione verticale e orizzontale del display reale. | 
      
        | ID modifica:176926741DOWNSCALE_50
Stato predefinito: disabilitato per tutte le app.
 
 Se è attivata anche l'opzione DOWNSCALED, l'attivazione di questa modifica per un pacchetto forza l'app a presupporre di essere in esecuzione su un display con il 50% della risoluzione verticale e orizzontale del display reale. | 
      
        | ID modifica:189970036DOWNSCALE_55
Stato predefinito: disattivato per tutte le app.
 
 Se è attivata anche l'opzione DOWNSCALED, l'attivazione di questa modifica per un pacchetto costringe l'app a presupporre di essere in esecuzione su un display con il 55% della risoluzione verticale e orizzontale del display reale. | 
      
        | ID modifica:176926771DOWNSCALE_60
Stato predefinito: disabilitato per tutte le app.
 
 Se è attivata anche l'opzione DOWNSCALED, l'attivazione di questa modifica per un pacchetto costringe l'app a presupporre di essere in esecuzione su un display con il 60% della risoluzione verticale e orizzontale del display reale. | 
      
        | ID modifica:189969744DOWNSCALE_65
Stato predefinito: disabilitato per tutte le app.
 
 Quando è attivata anche l'opzione DOWNSCALED, l'attivazione di questa modifica per un pacchetto forza l'app a presupporre di essere in esecuzione su un display con il 65% della risoluzione verticale e orizzontale del display reale. | 
      
        | ID modifica:176926829DOWNSCALE_70
Stato predefinito: disabilitato per tutte le app.
 
 Se è attivata anche l'opzione DOWNSCALED, l'attivazione di questa modifica per un pacchetto costringe l'app a presupporre di essere in esecuzione su un display con il 70% della risoluzione verticale e orizzontale del display reale. | 
      
        | ID modifica:189969779DOWNSCALE_75
Stato predefinito: disattivato per tutte le app.
 
 Se è attivata anche l'opzione DOWNSCALED, l'attivazione di questa modifica per un pacchetto costringe l'app a presupporre di essere in esecuzione su un display con il 75% della risoluzione verticale e orizzontale del display reale. | 
      
        | ID modifica:176926753DOWNSCALE_80
Stato predefinito: disabilitato per tutte le app.
 
 Quando è attivata anche l'opzione DOWNSCALED, l'attivazione di questa modifica per un pacchetto costringe l'app a presupporre di essere in esecuzione su un display con l'80% della risoluzione verticale e orizzontale del display reale. | 
      
        | ID modifica:189969734DOWNSCALE_85
Stato predefinito: disabilitato per tutte le app.
 
 Se è attivata anche l'opzione DOWNSCALED, l'attivazione di questa modifica per un pacchetto costringe l'app a presupporre di essere in esecuzione su un display con l'85% della risoluzione verticale e orizzontale del display reale. | 
      
        | ID modifica:182811243DOWNSCALE_90
Stato predefinito: disattivato per tutte le app.
 
 Se è attivata anche l'opzione DOWNSCALED, l'attivazione di questa modifica per un pacchetto costringe l'app a presupporre di essere in esecuzione su un display con il 90% della risoluzione verticale e orizzontale del display reale. | 
      
        | ID modifica: 157629738DO_NOT_DOWNSCALE_TO_1080P_ON_TV
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Le app per Android TV che hanno come target Android 12 (livello API 31) e versioni successive devono gestire qualsiasi dimensione della finestra, incluse quelle superiori a 1080p.
             Le app che hanno come target versioni precedenti di Android non si aspettano di ricevere finestre più grandi di 1080p, quindi le loro finestre vengono ridimensionate a 1080p quando necessario. | 
      
        | ID modifica:174664120DROP_CLOSE_SYSTEM_DIALOGS
Stato predefinito: attivato per tutte le app.
 
 Per migliorare il controllo degli utenti durante l'interazione con le app e il sistema, l'azione intent ACTION_CLOSE_SYSTEM_DIALOGSè stata ritirata a partire da Android 12. Per saperne di più su questa modifica, consulta Le app non possono chiudere le finestre di dialogo di sistema. | 
      
        | ID modifica: 172100307ENABLE_CHECKS_FOR_PRIVATE_FILES
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Le app che hanno come target Android 12 (livello API 31) e versioni successive non possono inserire o aggiornare file privati utilizzando il provider di contenuti multimediali. | 
      
        | ID modifica: 180326732ENABLE_DEFERRED_SCAN
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Attiva questa opzione per posticipare la scansione attivata nell'ambito di MediaProvider#update(). | 
      
        | ID modifica: 157233955ENABLE_GET_CALL_STATE_PERMISSION_PROTECTION
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, attiva la protezione READ_PHONE_STATEsulle API che eseguono query e notificano lo stato delle chiamate, ad esempioTelecomManager#getCallState,TelephonyManager.getCallStateForSubscription()eTelephonyCallback.CallStateListener. | 
      
        | ID modifica:183407956ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, attiva le protezioni READ_PHONE_NUMBERSoREAD_PRIVILEGED_PHONE_STATEsugetPhoneAccount(PhoneAccountHandle). | 
      
        | ID modifica: 182734110ENABLE_INCLUDE_ALL_VOLUMES
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Attiva questa opzione per includere in MediaProvider#queryle righe del database dei file di un volume smontato di recente. | 
      
        | ID modifica:178209446ENABLE_RAW_MANAGE_EXTERNAL_STORAGE_ACCESS
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Attiva questa opzione per consentire alle app che dispongono dell'autorizzazione Manifest.permission.MANAGE_EXTERNAL_STORAGEdi richiedere l'accesso non elaborato alla memoria esterna. | 
      
        | ID modifica: 185199076ENFORCE_MINIMUM_WINDOW_ON_INEXACT_ALARMS
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app destinate ad Android 12 (livello API 31) e versioni successive, tutti gli allarmi imprecisi devono avere una dimensione minima della finestra, che dovrebbe essere dell'ordine di alcuni minuti. In pratica, tutte le sveglie che richiedono
             finestre più piccole sono uguali alle sveglie esatte e devono utilizzare le API corrispondenti fornite, ad esempio
             setExact(int, long, PendingIntent). Gli allarmi imprecisi con finestre più brevi specificate
             vedranno le finestre allungate dal sistema. | 
      
        | ID modifica: 142191088ENFORCE_NATIVE_SHARED_LIBRARY_DEPENDENCIES
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Le app che hanno come target Android 12 (livello API 31) e versioni successive devono dichiarare le dipendenze dalle librerie condivise native pubbliche che
             sono definite dal produttore del dispositivo utilizzando il tag uses-native-librarynel fileAndroidManifest.xml. Se una delle dipendenze
             non può essere soddisfatta, ad esempio se una delle dipendenze non esiste, il gestore dei pacchetti non installerà l'app. La dipendenza può essere
             specificata come facoltativa utilizzando l'attributoandroid:requirednel tag, nel qual caso il mancato soddisfacimento della dipendenza non interromperà
             l'installazione. Una volta installata, un'app riceve solo le librerie condivise native specificate nel manifest dell'app. La chiamata a dlopensu
             una libreria condivisa nativa che non viene visualizzata nel manifest dell'app non andrà a buon fine anche se esiste effettivamente sul dispositivo. | 
      
        | ID modifica: 143231523ENFORCE_STRICT_QUERY_BUILDER
Stato predefinito: disattivato per tutte le app.
 
 Se attivata, l'opzione SQLiteQueryBuilderverifica tutte le selezioni di queryCalendarProvider2rispetto agli argomenti dannosi. | 
      
        | ID modifica:170668199FGS_BG_START_RESTRICTION_CHANGE_ID
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, limita il momento in cui le app possono avviare servizi in primo piano durante l'esecuzione in background. | 
      
        | ID modifica: 174041399FGS_START_EXCEPTION_CHANGE_ID
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, consente al sistema di generare un IllegalStateExceptionse un'app tenta di avviare un servizio in primo piano mentre è in esecuzione in background. | 
      
        | ID modifica:156215187 Stato predefinito: disattivato per tutte le app.
 
 Per le app destinate ad Android 12 (livello API 31) e versioni successive, completa InputConnectionquando il dispositivo diventanon-interactive. Se abilitata dall'attuale input method, la connessione di input corrente verràfinishedogni volta che i dispositivi diventano non interattivi. Se non è attivata, la connessione di input corrente verrà disattivata automaticamente quando i dispositivi diventano non interattivi e viene inviata una coppia di intent onFinishInput()eonStartInput()quando il dispositivo torna interattivo. | 
      
        | ID modifica:174227820FORCE_DISABLE_HEVC_SUPPORT
Stato predefinito: disattivato per tutte le app.
 
 Forza la disattivazione del supporto di un'app per la funzionalità multimediale HEVC.
           Le app devono dichiarare le funzionalità multimediali supportate nel
           manifest, ma questo flag può essere utilizzato per forzare un'app a non
           supportare HEVC, forzando quindi la transcodifica durante l'accesso ai contenuti multimediali
           codificati in HEVC. L'impostazione di questo flag sostituisce tutti i 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 sono attivi sia questo flag sia
           FORCE_ENABLE_HEVC_SUPPORT, il sistema operativo ignora
           entrambi i flag. | 
      
        | ID modifica: 174228127FORCE_ENABLE_HEVC_SUPPORT
Stato predefinito: disabilitato per tutte le app.
 
 Forza l'attivazione di un'app per supportare la funzionalità multimediale HEVC. Le app
           devono dichiarare le funzionalità multimediali supportate nel proprio manifest,
           ma questo flag può essere utilizzato per forzare un'app a supportare HEVC, evitando così
           la transcodifica durante l'accesso ai contenuti multimediali codificati in HEVC. L'impostazione
           di questo flag sostituisce tutti i valori predefiniti a livello di sistema operativo per le app. È disattivato per
           impostazione predefinita, il che significa che le impostazioni predefinite del sistema operativo avranno la precedenza. Se sono attivi sia
           questo flag che FORCE_DISABLE_HEVC_SUPPORT,
           il sistema operativo ignora entrambi i flag. | 
      
        | ID modifica: 181136395FORCE_NON_RESIZE_APP
Stato predefinito: disattivato per tutte le app.
 
 Forza i pacchetti a cui viene applicato a non essere ridimensionabili. | 
      
        | ID modifica: 174042936FORCE_RESIZE_APP
Stato predefinito: disattivato per tutte le app.
 
 Forza il ridimensionamento dei pacchetti a cui viene applicato. Consentiamo
           il ridimensionamento solo in modalità finestra a schermo intero, ma non forziamo l'app
           in modalità multi-finestra ridimensionabile. | 
      
        | ID modifica:171979766HIDE_PROP_ICUBINARY_DATA_PATH
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, rimuove l'accesso alla proprietà android.icu.impl.ICUBinary.dataPath. | 
      
        | ID modifica:183147249IGNORE_ALLOW_BACKUP_IN_D2D
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, android:allowBackupviene ignorato per le app durante le migrazioni da dispositivo a dispositivo (D2D). | 
      
        | ID modifica: 180523564IGNORE_FULL_BACKUP_CONTENT_IN_D2D
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, le regole di inclusione ed esclusione specificate utilizzando android:fullBackupContentvengono ignorate durante i trasferimenti da dispositivo a dispositivo (D2D). | 
      
        | ID modifica:169273070IME_AUTOFILL_DEFAULT_SUPPORTED_LOCALES_IS_EMPTY
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, getSupportedLocales()ora restituisce
             un elenco di impostazioni internazionali vuoto quando non è impostato, anziché le impostazioni internazionali di sistema predefinite. | 
      
        | ID modifica: 158482162IS_BACKUP_SERVICE_ACTIVE_ENFORCE_PERMISSION_IN_SERVICE
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, l'autorizzazione BACKUPnecessaria perisBackupServiceActive()viene applicata sul lato server anziché sul lato client inBackupManager. | 
      
        | ID modifica:169897160KEYSTORE_OPERATION_CREATION_MAY_FAIL
Stato predefinito: disabilitato per tutte le app.
 
 Se attivata, la creazione dell'operazione keystore potrebbe non riuscire in base alla
           nuova strategia di pruning. Keystore funzionava presupponendo
           che la creazione di operazioni di crittografia riuscisse sempre.
           Tuttavia, il backend KeyMint ha solo un numero limitato di slot
           per le operazioni. Per mantenere l'aspetto di slot di operazioni "infiniti",
           il daemon Keystore elimina le operazioni utilizzate meno di recente se
           non è disponibile alcuno slot di operazioni. Di conseguenza, le operazioni valide
           potrebbero essere terminate prematuramente. In questo modo, AndroidKeystore è stato aperto ad attacchi
           DoS (Denial of Service) e livelock involontario. Ad esempio, se
           più app si riattivano contemporaneamente a causa delle ottimizzazioni
           della gestione dell'alimentazione e tentano di eseguire operazioni di crittografia, iniziano
           a interrompere le operazioni reciproche senza fare progressi. Per uscire dai deadlock e scoraggiare i tentativi di DoS, abbiamo
           modificato la strategia di eliminazione in modo che preferisca i client che
           utilizzano brevemente pochi slot di operazioni. Di conseguenza, le singole operazioni che
           non rimangono inattive per più di 5 secondi si concluderanno quasi sempre
           senza essere ostacolate dalla strategia di eliminazione. Esistono ancora alcune
           operazioni relative alla crittografia del file system che possono eliminare anche
           queste operazioni, ma questi casi sono estremamente rari. Come effetto
           collaterale di questa nuova operazione di strategia di eliminazione, ora la creazione può non riuscire
           se il client ha una potenza di eliminazione inferiore a tutte le operazioni esistenti. Strategia di eliminazione: per trovare un candidato idoneo,
           calcoliamo la penalità per il chiamante e per ogni operazione esistente. Il
           malus è l'inverso della potenza di eliminazione (chiamante) o della
           resistenza all'eliminazione (operazione esistente). Affinché il chiamante possa eliminare
           un'operazione, deve trovarne una con una penalità superiore alla propria. Per ulteriori dettagli sulla strategia di eliminazione, consulta l'implementazione
           di
           operation.rs.
          Su Android 11 (livello API 30) e versioni precedenti, KeyStore2 eseguirà il polling del
          daemon Keystore per uno slot di operazioni senza costi. Per le app che hanno come target
          Android 11 (livello API 30) e versioni precedenti, l'inizializzazione dell'oggetto di firma e
          cifrario sembra sempre riuscire, ma potrebbe essere necessario
          più tempo per ottenere un'operazione. Tutte le versioni di Android beneficiano di una pianificazione degli slot di funzionamento più equa e di una maggiore possibilità di concludere correttamente un'operazione. | 
      
        | ID modifica: 174664365LOCK_DOWN_CLOSE_SYSTEM_DIALOGS
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, l'intent Intent.ACTION_CLOSE_SYSTEM_DIALOGSnon può essere inviato
             a meno che l'app non disponga anche dell'autorizzazioneandroid.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS. Tieni presente che questa è la versione più restrittiva di#DROP_CLOSE_SYSTEM_DIALOGSche prevede che l'app smetta di inviare l'intentIntent.ACTION_CLOSE_SYSTEM_DIALOGSuna volta che l'app inizia a scegliere come target Android 12 (livello API 31) o versioni successive. | 
      
        | ID modifica: 173031413LOCK_DOWN_COLLAPSE_STATUS_BAR
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, l'autorizzazione Manifest.permission.STATUS_BARè necessaria per comprimere i
             pannelli della barra di stato per motivi di sicurezza. Questo veniva sfruttato dal malware per impedire all'utente di accedere alle notifiche critiche. | 
      
        | ID modifica: 168936375LOW_POWER_EXCEPTIONS
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app destinate ad Android 12 (livello API 31) e versioni successive, tutti gli oggetti LocationRequestcontrassegnati come a basso consumo generano
             eccezioni se il chiamante non dispone dell'autorizzazioneLOCATION_HARDWARE, anziché eliminare silenziosamente la parte a basso
           consumo della richiesta. | 
      
        | ID modifica: 150232615MISSING_EXPORTED_FLAG
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app destinate ad Android 12 (livello API 31) e versioni successive, deve essere specificato un valore esplicito per l'attributo
            android:exportedogni volta che viene definito un filtro per intent. Per saperne di più su questa modifica, consulta Esportazione più sicura dei componenti. | 
      
        | ID modifica: 207557677NATIVE_HEAP_POINTER_TAGGING_APP_ZYGOTE
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 32) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 32) e versioni successive, le allocazioni dell'heap nativo nel processo AppZygotee nei relativi discendenti
             utilizzano un tag diverso da zero nel byte più significativo. Per saperne di più su questa modifica, consulta Puntatori taggati. | 
      
        | ID modifica: 178038272NATIVE_HEAP_ZERO_INIT
Stato predefinito: disattivato per tutte le app.
 
 Attiva l'inizializzazione automatica a zero delle allocazioni di memoria heap nativa. | 
      
        | ID modifica: 135772972NATIVE_MEMTAG_ASYNC
Stato predefinito: disabilitato per tutte le app.
 
 Abilita il controllo dei tag di memoria asincroni (ASYNC) in questo processo. Questo flag influisce solo sull'hardware che supporta l'estensione
             Memory Tagging Extension (MTE) di ARM. | 
      
        | ID modifica: 177438394NATIVE_MEMTAG_SYNC
Stato predefinito: disabilitato per tutte le app.
 
 Consente il controllo sincrono (SYNC) dei tag di memoria in questo processo. Questo flag influisce solo sull'hardware che supporta l'estensione
             Memory Tagging Extension (MTE) di ARM. Se sono attivi sia NATIVE_MEMTAG_ASYNCsia questa opzione, quest'ultima ha la precedenza e la traduzione automatica della macchina viene attivata in modalità SYNC. | 
      
        | ID modifica:184838306NEVER_SANDBOX_DISPLAY_APIS
Stato predefinito: disattivato per tutte le app.
 
 Se attivata, impedisce l'applicazione del sandboxing dell'API Display a un'attività
           letterbox o SCM. Le API Display continueranno a fornire
           i limiti di DisplayArea. Per saperne di più su questa modifica, consulta la sezione della pagina
           Modifiche del comportamento di Android 12 relativa ai
           
           Metodi di visualizzazione ritirati. | 
      
        | ID modifica: 175319604NOTIFICATION_CANCELLATION_REASONS
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Consente agli ascoltatori di notifiche di comprendere nuovi motivi di annullamento più specifici. | 
      
        | ID modifica:167676448NOTIFICATION_TRAMPOLINE_BLOCK
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per migliorare le prestazioni e l'esperienza utente delle app, quelle che hanno come target Android 12 non possono utilizzare servizi o broadcast receiver come trampolini di lancio delle notifiche. Per saperne di più su questa modifica, consulta Non è possibile creare trampolini di notifica da servizi o ricevitori di trasmissione. | 
      
        | ID modifica: 182185642NULL_TELEPHONY_THROW_NO_CB
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Utilizzato per verificare se la versione dell'SDK di destinazione per il processo corrente è Android 12 (livello API 31) o versioni successive. Si applica ai seguenti metodi:
              | 
      
        | ID modifica: 174042980OVERRIDE_MIN_ASPECT_RATIO
Stato predefinito: disattivato per tutte le app.
 
 Questa modifica è il gatekeeper di tutte le modifiche che impongono un determinato formato minimo. L'attivazione di questa modifica consente di applicare i seguenti formati minimi: Quando questa modifica viene attivata per un pacchetto app, le proporzioni minime indicate nel file manifest dell'app vengono sostituite con le proporzioni più grandi attivate,
            a meno che il valore del file manifest dell'app non sia superiore. | 
      
        | ID modifica: 180326787OVERRIDE_MIN_ASPECT_RATIO_LARGE
Stato predefinito: disabilitato per tutte le app.
 
 Se è abilitata anche l'opzione OVERRIDE_MIN_ASPECT_RATIO, l'attivazione di questa modifica per un insieme di pacchetti
             imposta le proporzioni minime dell'attività su un valore elevato, come definito daOVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE. | 
      
        | ID modifica:180326845OVERRIDE_MIN_ASPECT_RATIO_MEDIUM
Stato predefinito: disabilitato per tutte le app.
 
 Se è abilitata anche l'opzione OVERRIDE_MIN_ASPECT_RATIO, l'attivazione di questa modifica per un insieme di pacchetti
             imposta le proporzioni minime dell'attività su un valore medio definito daOVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE. | 
      
        | ID modifica: 160794467PENDING_INTENT_EXPLICIT_MUTABILITY_REQUIRED
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app destinate ad Android 12 (livello API 31) e versioni successive, devi specificare la modificabilità di ogni oggetto PendingIntentcreato dalla tua app. Questo requisito aggiuntivo migliora la sicurezza della tua app. Per saperne di più su questa modifica, consulta Pending intents must declare mutability. | 
      
        | ID modifica: 165573442PREVENT_SETTING_PASSWORD_QUALITY_ON_PARENT
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Le app di amministrazione che hanno come target Android 12 (livello API 31) e versioni successive non possono utilizzare DevicePolicyManager.setPasswordQuality(ComponentName, int)per impostare la qualità della password nell'istanzaDevicePolicyManagerottenuta chiamandoDevicePolicyManager.getParentProfileInstance(ComponentName).
             Devono invece utilizzareDevicePolicyManager.setRequiredPasswordComplexity(int)per impostare
             requisiti per le password generici a livello di dispositivo. | 
      
        | ID modifica:174840628RATE_LIMIT_TOASTS
Stato predefinito: questa modifica non può essere attivata/disattivata. Viene registrato solo dal framework di compatibilità.
 
 Consente la limitazione della frequenza del numero di
           chiamate Toast.show()per evitare di sovraccaricare l'utente con troppe notifiche toast in un
           periodo di tempo limitato. Qualsiasi tentativo di mostrare più toast del consentito in un
           determinato periodo di tempo comporta l'eliminazione del toast. | 
      
        | ID modifica: 171306433REQUIRE_EXACT_ALARM_PERMISSION
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app destinate ad Android 12 (livello API 31) e versioni successive, è necessario disporre dell'autorizzazione Manifest.permission.SCHEDULE_EXACT_ALARMper utilizzare qualsiasi API per l'impostazione di sveglie esatte, ad esempiosetExactAndAllowWhileIdle(int, long, PendingIntent)esetAlarmClock(AlarmClockInfo, PendingIntent). | 
      
        | ID modifica: 182478738REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_ACTIVE_DATA_SUB_ID
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, le app devono disporre dell'autorizzazione Manifest.permission.READ_PHONE_STATEper
             chiamareTelephonyCallback.ActiveDataSubscriptionIdListener. | 
      
        | ID modifica: 184323934REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_CELL_INFO
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, le app devono disporre dell'autorizzazione Manifest.permission.READ_PHONE_STATEper
             chiamareTelephonyCallback.CellInfoListener. | 
      
        | ID modifica:183164979REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_DISPLAY_INFO
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, le app devono disporre dell'autorizzazione Manifest.permission.READ_PHONE_STATEper
             chiamareTelephonyCallback.DisplayInfoListener. | 
      
        | ID modifica: 171032338RESTRICT_ADB_BACKUP
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, adb backupviene attivato automaticamente per le app in esecuzione come eseguibili in modalità di debug (android:debuggableimpostato sutrue) e
             non è disponibile per altre app. | 
      
        | ID modifica:175408749RESTRICT_DOMAINS
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app destinate ad Android 12 (livello API 31) e versioni successive, è necessaria la versione aggiornata dell'API di verifica degli app link. Questo requisito significa che un'app deve dichiarare i domini all'interno di un filtro per intent che
             include tutti i seguenti elementi:  
             android:autoVerify="true"Intent.ACTION_VIEWIntent.CATEGORY_BROWSABLEIntet.CATEGORY_DEFAULTSolo IntentFilter.SCHEME_HTTPe/oIntentFilter.SCHEME_HTTPS, senza altri schemi Nelle versioni precedenti di Android, Intent.CATEGORY_BROWSABLEnon era un requisito, erano consentiti altri schemi e l'impostazione diautoVerifysutruein qualsiasi filtro per intent
             avrebbe fatto finta implicitamente che tutti i filtri per intent fossero impostati suautoVerify="true". | 
      
        | ID modifica: 151105954SECURITY_EXCEPTION_ON_INVALID_ATTRIBUTION_TAG_CHANGE
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, impone che tutti gli intent attributionTagsinviati anoteOp(String, int, String),noteProxyOp(String, String),
             estartOp(String, int, String)siano definiti nel manifest del pacchetto specificato come parametro dei metodi. Per abilitare questa modifica, sia il pacchetto che chiama noteOp(String, int, String)sia il pacchetto specificato come parametro del metodo devono avere questa modifica abilitata. | 
      
        | ID modifica: 143539591SELINUX_LATEST_CHANGES
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, attiva le ultime modifiche di SELinux. Disattivare questa modifica per un'app che ha come target
             Android 12 (livello API 31) o versioni successive non ha alcun effetto. Non ha alcun effetto per le app che utilizzano un ID utente condiviso. | 
      
        | ID modifica:178111421SETTINGS_API_V2
Stato predefinito: attivato per tutte le app.
 
 La nuova API delle preferenze utente per la verifica dei domini contrassegnati con autoVerify=truenei filtri intent AndroidManifest.xml non è ancora implementata
             nell'anteprima della piattaforma attuale. Per il momento, è possibile visualizzare in anteprima le nuove modifiche alle preferenze utente attivando questo ChangeId e utilizzandoadb shell pm set-app-links-user-selectione comandi simili. | 
      
        | ID modifica: 183972877USE_SHORT_FGS_USAGE_INTERACTION_TIME
Stato predefinito: attivato per le app che hanno come target Android 12 (livello API 31) o versioni successive.
 
 Per le app che hanno come target Android 12 (livello API 31) e versioni successive, determina se utilizzare un timeout più breve prima di elevare il bucket standby a
             ACTIVEquando le app avviano un servizio in primo piano. |