| 變更 ID:185004937ALWAYS_SANDBOX_DISPLAY_APIS
預設狀態:已為所有應用程式停用。
 
 啟用之後,無論視窗模式為何,系統均會將 Display API 沙箱機制套用至套件。Display API 一律會提供應用程式邊界。 如要進一步瞭解這項變更,請參閱 Android 12 行為變更頁面中的「
           已淘汰的顯示方法」一節。 | 
      
        | 變更 ID:163400105AUTOFILL_NON_TEXT_REQUIRES_ON_RECEIVE_CONTENT_LISTENER
預設狀態:已針對指定 Android 12 (API 級別 32) 以上版本為目標的應用程式啟用。
 
 自 Android 12 起,平台可使用擴增自動填入架構提供非文字建議 (例如圖片) (請參閱自動填入服務)。如要讓應用程式處理這些建議,通常必須實作 OnReceiveContentListenerAPI。 為了讓先前已實作 InputConnection.commitContent(InputContentInfo, int, Bundle)API 的應用程式能順利採用這個 API,如果應用程式尚未實作OnReceiveContentListener,我們會將該 API 重新用做備援。這項備援功能只會在 Android 12 (API 級別 31) 上啟用。這項變更 ID 會停用備援功能,因此指定 Android 12 (API 級別 32) 以上版本的應用程式必須實作OnReceiveContentListenerAPI,才能接受非文字建議。 | 
      
        | 變更 ID:157929241BLOCK_FLAG_SLIPPERY
預設狀態:已為所有應用程式啟用。
 
 如果是 Android 12 (API 級別 31) 上執行的應用程式,系統會檢查應用程式中是否有任何視窗使用 FLAG_SLIPPERY。我們預期這個旗標可能只會由系統元件使用,因為這是不支援的欄位。如果會,就會受到限制。 | 
      
        | 變更 ID:144027538BLOCK_GPS_STATUS_USAGE
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本,所有 GpsStatusAPI 用法都必須替換為GnssStatusAPI。 | 
      
        | 變更 ID:171317480BLOCK_IMMUTABLE_PENDING_INTENTS
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標版本的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本,傳遞至位置資訊 API 的不可變動 PendingIntent物件會產生IllegalArgumentException. | 
      
        | 變更 ID:169887240BLOCK_PENDING_INTENT_SYSTEM_API_USAGE
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本,就無法在 PendingIntent位置資訊要求中使用LocationRequest系統 API。 | 
      
        | 變更 ID:158002302BLOCK_UNTRUSTED_TOUCHES
預設狀態:已為所有應用程式啟用。
 
 為維護系統安全和良好使用者體驗,Android 12 會禁止應用程式在疊加層以不安全的方式封鎖應用程式時,耗用觸控事件。 如要進一步瞭解這項異動,請參閱「系統會封鎖不受信任的觸控事件」。 | 
      
        | 變更 ID:78294732CALL_ACTIVITY_RESULT_BEFORE_RESUME
預設狀態:已針對指定 Android 12 (API 級別 32) 以上版本為目標的應用程式啟用。
 
 針對以 Android 12 (API 級別 32) 以上版本為目標的應用程式,修正活動結果的生命週期,確保活動會在恢復前取得活動結果。 | 
      
        | 變更 ID:162547999CAMERA_MIC_INDICATORS_NOT_PRESENT
預設狀態:已為所有應用程式停用。
 
 表示此裝置支援攝影機和麥克風指示燈。如果有顯示的話,將會是 false,因為如果未顯示變更 ID,則CompatChanges#isChangeEnabled方法會傳回true。 | 
      
        | 變更 ID:146211400CANNOT_INSTALL_WITH_BAD_PERMISSION_GROUPS
預設狀態:已針對指定 Android 12 (API 級別 32) 以上版本為目標版本的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 32) 以上版本,且有格式錯誤的權限群組,套件管理員就不會安裝套件。權限群組只能在共用憑證的應用程式之間共用。如果權限屬於群組,則必須一併定義該群組。 | 
      
        | 變更 ID:181350407CHANGE_ID_AUTH_STATE_DENIED
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標版本的應用程式啟用。
 
 如果用戶端應用程式指定 Android 12 (API 級別 31) 以上版本為目標,且處於授權遭拒狀態,嘗試將訊息傳送至微型應用程式時,系統會擲回 SecurityException。 | 
      
        | 變更 ID:136069189CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSION
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本,且沒有 HIGH_SAMPLING_RATE_SENSORS權限、以偵錯模式執行,並要求高於 200 Hz 的取樣率,就會擲回SecurityException。 | 
      
        | 變更 ID:73144566DELIVER_HISTORICAL_LOCATIONS
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本,在某些情況下,位置資訊用戶端可能會收到過去的位置資訊 (目前時間之前)。 | 
      
        | 變更 ID:181658987DISPLAY_INFO_NR_ADVANCED_SUPPORTED
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標版本的應用程式啟用。
 
 對於指定 Android 12 (API 級別 31) 以上版本的應用程式,可為 TelephonyDisplayInfo的變更提供回溯相容性。 | 
      
        | 變更 ID:170503758DISPLAY_MODE_RETURNS_PHYSICAL_REFRESH_RATE
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本,平台可能會將應用程式的影格速率調降為重新整理率的除數 (例如,如果應用程式呼叫 Surface.setFrameRate(float, int))。應用程式會以調降後的影格速率,體驗Choreographer.postFrameCallback(Choreographer.FrameCallback)回呼和背壓。應用程式會使用Display.getRefreshRate()和Display.Mode.getRefreshRate()瞭解螢幕刷新率。Display.getRefreshRate()一律會傳回應用程式畫面更新率,而非實際的螢幕刷新率,讓應用程式正確執行畫面步調。如果編譯為先前的版本,Display.Mode.getRefreshRate()會傳回應用程式影格速率;如果是 Android 12 (API 級別 31) 以上版本,則會傳回實體螢幕更新率。 | 
      
        | 變更 ID:168419799DOWNSCALED
預設狀態:已為所有應用程式停用。
 
 這項變更可為所有依應用程式緩衝區降階的變更把關。啟用這項變更即可套用下列縮放比例係數: 為應用程式套件啟用這項變更後,應用程式就會強制將大小調整為已啟用的最高比例係數。舉例來說,如果同時啟用 80% 和 70% (DOWNSCALE_80和DOWNSCALE_70),系統就會使用 80%。 | 
      
        | 變更 ID:189970040DOWNSCALE_30
預設狀態:已為所有應用程式停用。
 
 此時如果也啟用了 DOWNSCALED,則此套件變更會使得應用程式假設當下運行螢幕的垂直和水平解析度為實際螢幕的 30%。 | 
      
        | 變更 ID:189969749DOWNSCALE_35
預設狀態:已為所有應用程式停用。
 
 此時如果也啟用了 DOWNSCALED,則此套件變更會使得應用程式假設當下運行螢幕的垂直和水平解析度為實際螢幕的 35%。 | 
      
        | 變更 ID:189970038DOWNSCALE_40
預設狀態:已為所有應用程式停用。
 
 此時如果也啟用了 DOWNSCALED,則此套件變更會使得應用程式假設當下運行螢幕的垂直和水平解析度為實際螢幕的 40%。 | 
      
        | 變更 ID:189969782DOWNSCALE_45
預設狀態:已為所有應用程式停用。
 
 此時如果也啟用了 DOWNSCALED,則此套件變更會使得應用程式假設當下運行螢幕的垂直和水平解析度為實際螢幕的 45%。 | 
      
        | 變更 ID:176926741DOWNSCALE_50
預設狀態:已為所有應用程式停用。
 
 此時如果也啟用了 DOWNSCALED,則此套件變更會使得應用程式假設當下運行螢幕的垂直和水平解析度為實際螢幕的 50%。 | 
      
        | 變更 ID:189970036DOWNSCALE_55
預設狀態:已為所有應用程式停用。
 
 此時如果也啟用了 DOWNSCALED,則此套件變更會使得應用程式假設當下運行螢幕的垂直和水平解析度為實際螢幕的 55%。 | 
      
        | 變更 ID:176926771DOWNSCALE_60
預設狀態:已為所有應用程式停用。
 
 此時如果也啟用了 DOWNSCALED,則此套件變更會使得應用程式假設當下運行螢幕的垂直和水平解析度為實際螢幕的 60%。 | 
      
        | 變更 ID:189969744DOWNSCALE_65
預設狀態:已為所有應用程式停用。
 
 此時如果也啟用了 DOWNSCALED,則此套件變更會使得應用程式假設當下運行螢幕的垂直和水平解析度為實際螢幕的 65%。 | 
      
        | 變更 ID:176926829DOWNSCALE_70
預設狀態:已為所有應用程式停用。
 
 此時如果也啟用了 DOWNSCALED,則此套件變更會使得應用程式假設當下運行螢幕的垂直和水平解析度為實際螢幕的 70%。 | 
      
        | 變更 ID:189969779DOWNSCALE_75
預設狀態:已為所有應用程式停用。
 
 此時如果也啟用了 DOWNSCALED,則此套件變更會使得應用程式假設當下運行螢幕的垂直和水平解析度為實際螢幕的 75%。 | 
      
        | 變更 ID:176926753DOWNSCALE_80
預設狀態:已為所有應用程式停用。
 
 此時如果也啟用了 DOWNSCALED,則此套件變更會使得應用程式假設當下運行螢幕的垂直和水平解析度為實際螢幕的 80%。 | 
      
        | 變更 ID:189969734DOWNSCALE_85
預設狀態:已為所有應用程式停用。
 
 此時如果也啟用了 DOWNSCALED,則此套件變更會使得應用程式假設當下運行螢幕的垂直和水平解析度為實際螢幕的 85%。 | 
      
        | 變更 ID:182811243DOWNSCALE_90
預設狀態:已為所有應用程式停用。
 
 此時如果也啟用了 DOWNSCALED,則此套件變更會使得應用程式假設當下運行螢幕的垂直和水平解析度為實際螢幕的 90%。 | 
      
        | 變更 ID:157629738DO_NOT_DOWNSCALE_TO_1080P_ON_TV
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果 Android TV 應用程式指定 Android 12 (API 級別 31) 以上版本,就必須處理任何視窗大小,包括大於 1080p 的視窗大小。如果應用程式指定較舊的 Android 版本,就不會預期收到大於 1080p 的視窗,因此系統會在必要時將視窗縮放至 1080p。 | 
      
        | 變更 ID:174664120DROP_CLOSE_SYSTEM_DIALOGS
預設狀態:已為所有應用程式啟用。
 
 為提升使用者與應用程式和系統互動時的控制權,Android 12 以上版本已淘汰 ACTION_CLOSE_SYSTEM_DIALOGS意圖動作。 如要進一步瞭解這項異動,請參閱「應用程式無法關閉系統對話方塊」。 | 
      
        | 變更 ID:172100307ENABLE_CHECKS_FOR_PRIVATE_FILES
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標版本的應用程式啟用。
 
 指定 Android 12 (API 級別 31) 以上版本的應用程式無法使用媒體供應器插入或更新私人檔案。 | 
      
        | 變更 ID:180326732ENABLE_DEFERRED_SCAN
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標版本的應用程式啟用。
 
 啟用這個選項,即可延後掃描 (掃描是 MediaProvider#update()的一部分)。 | 
      
        | 變更 ID:157233955ENABLE_GET_CALL_STATE_PERMISSION_PROTECTION
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標版本的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本,系統會在查詢及通知通話狀態的 API (例如 TelecomManager#getCallState、TelephonyManager.getCallStateForSubscription()和TelephonyCallback.CallStateListener) 上啟用READ_PHONE_STATE保護機制。 | 
      
        | 變更 ID:183407956ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTION
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本為目標,請在 getPhoneAccount(PhoneAccountHandle)上啟用READ_PHONE_NUMBERS或READ_PRIVILEGED_PHONE_STATE保護措施。 | 
      
        | 變更 ID:182734110ENABLE_INCLUDE_ALL_VOLUMES
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 啟用這個選項後,MediaProvider#query會納入最近卸載磁碟區的檔案資料庫列。 | 
      
        | 變更 ID:178209446ENABLE_RAW_MANAGE_EXTERNAL_STORAGE_ACCESS
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 啟用這個選項後,擁有 Manifest.permission.MANAGE_EXTERNAL_STORAGE權限的應用程式就能要求原始外部儲存空間存取權。 | 
      
        | 變更 ID:185199076ENFORCE_MINIMUM_WINDOW_ON_INEXACT_ALARMS
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本,所有不精確的鬧鐘都必須具備最小時間範圍,預計約為幾分鐘。實際上,任何需要較小時間範圍的鬧鐘都與精確鬧鐘相同,應使用相應的 API,例如 setExact(int, long, PendingIntent)。如果指定的時間範圍較短,系統會延長不精確的鬧鐘時間範圍。 | 
      
        | 變更 ID:142191088ENFORCE_NATIVE_SHARED_LIBRARY_DEPENDENCIES
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標版本的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本為目標平台,必須使用 AndroidManifest.xml中的uses-native-library標記,向裝置製造商定義的公開原生共用程式庫宣告依附元件。如果無法滿足任何依附元件 (例如依附元件不存在),套件管理員就不會安裝應用程式。您可以使用標記中的android:required屬性,將依附元件指定為選用,在這種情況下,如果無法滿足依附元件,安裝作業也不會停止。 安裝完成後,應用程式只會取得應用程式資訊清單中指定的原生共用程式庫。如果原生共用程式庫未顯示在應用程式資訊清單中,即使該程式庫實際存在於裝置上,呼叫 dlopen仍會失敗。 | 
      
        | 變更 ID:143231523ENFORCE_STRICT_QUERY_BUILDER
預設狀態:已為所有應用程式停用。
 
 啟用之後,SQLiteQueryBuilder會針對惡意引數驗證所有CalendarProvider2查詢選取項目。 | 
      
        | 變更 ID:170668199FGS_BG_START_RESTRICTION_CHANGE_ID
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本為目標,應用程式在背景執行時,啟動前景服務的時機就會受到限制。 | 
      
        | 變更 ID:174041399FGS_START_EXCEPTION_CHANGE_ID
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本為目標,當應用程式嘗試在背景執行時啟動前景服務,系統就會擲回 IllegalStateException。 | 
      
        | 變更 ID:156215187 預設狀態:已為所有應用程式停用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本,請在裝置變成 non-interactive時完成InputConnection。 如果目前的 input method啟用這項功能,裝置進入非互動狀態時,系統就會中斷目前的輸入連線finished。 如果未啟用,當裝置變成非互動式時,目前的輸入連線會改為無聲停用,且當裝置再次變成互動式時,會傳送 onFinishInput()和onStartInput()配對。 | 
      
        | 變更 ID:174227820FORCE_DISABLE_HEVC_SUPPORT
預設狀態:已為所有應用程式停用。
 
 強制停用應用程式支援 HEVC 媒體功能。
           應用程式應該在其資訊清單中宣告支援的媒體功能,不過這個標記可用來強制禁止應用程式支援 HEVC,進而在存取以 HEVC 編碼的媒體時執行強制轉碼。設定此標記後,系統將會覆寫應用程式所有 OS 級別的預設值。此設定依預設為停用狀態,表示系統會優先採用 OS 預設值。如果同時啟用這個標記和 FORCE_ENABLE_HEVC_SUPPORT,OS 會忽略這兩個標記。 | 
      
        | 變更 ID:174228127FORCE_ENABLE_HEVC_SUPPORT
預設狀態:已為所有應用程式停用。
 
 強制允許應用程式支援 HEVC 媒體功能
應用程式應該在其資訊清單中宣告支援的媒體功能,不過這個標記可用來強制要求應用程式支援 HEVC,進而避免在存取以 HEVC 編碼的媒體時進行轉碼。設定此標記後,系統將會覆寫應用程式所有 OS 級別的預設值。此設定依預設為停用狀態,表示系統會優先採用 OS 預設值。如果同時啟用此標記和 FORCE_DISABLE_HEVC_SUPPORT,OS 會忽略這兩個標記。 | 
      
        | 變更 ID:181136395FORCE_NON_RESIZE_APP
預設狀態:已為所有應用程式停用。
 
 強制要求已套用的套件禁止調整大小操作。 | 
      
        | 變更 ID:174042936FORCE_RESIZE_APP
預設狀態:已為所有應用程式停用。
 
 強制要求已套用的套件啟用調整大小操作。我們僅允許在全螢幕模式下調整視窗大小,不會強制要求應用程式套用可調整大小的多視窗模式。 | 
      
        | 變更 ID:171979766HIDE_PROP_ICUBINARY_DATA_PATH
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本為目標,系統會移除 android.icu.impl.ICUBinary.dataPath屬性的存取權。 | 
      
        | 變更 ID:183147249IGNORE_ALLOW_BACKUP_IN_D2D
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標版本的應用程式啟用。
 
 如果是指定 Android 12 (API 級別 31) 以上版本的應用程式,在裝置對裝置 (D2D) 遷移期間,系統會忽略應用程式的 android:allowBackup。 | 
      
        | 變更 ID:180523564IGNORE_FULL_BACKUP_CONTENT_IN_D2D
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本,裝置對裝置 (D2D) 轉移作業會忽略使用 android:fullBackupContent指定的納入和排除規則。 | 
      
        | 變更 ID:169273070IME_AUTOFILL_DEFAULT_SUPPORTED_LOCALES_IS_EMPTY
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本,getSupportedLocales()現在會在未設定時傳回空白語言代碼清單,而不是預設系統語言代碼。 | 
      
        | 變更 ID:158482162IS_BACKUP_SERVICE_ACTIVE_ENFORCE_PERMISSION_IN_SERVICE
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本,系統會在服務端強制執行 BACKUP權限,而非BackupManager中的用戶端。isBackupServiceActive() | 
      
        | 變更 ID:169897160KEYSTORE_OPERATION_CREATION_MAY_FAIL
預設狀態:已為所有應用程式停用。
 
 啟用後,可能會因為新的裁舊剪策略而無法建立 KeyStore 作業。以往在建立加密作業一律成功的假設下,KeyStore 是可以正常運作的。不過,KeyMint 後端的運算單元數量有限。 為了將運算單元維持在「無限大」的景象,KeyStore Daemon 會在沒有可用運算單元的情況下,刪除最近使用過的運算。如此一來可能會導致正常運算提前終止。這會使得 AndroidKeystore 陷入阻斷服務 (DoS) 攻擊與非預期活結 (Livelock) 的風險之中。舉例來說,假設多個應用程式因電源管理最佳化調整而同時被喚醒,並試圖執行加密運算,那麼這些程序會開始終止彼此的運作,導致沒有任何進度產生,這就是活結的概念。 為了要中斷活結並避免蒙受 DoS 攻擊,我們已變更裁舊策略,使其以使用少量運算單元的客戶為優先。因此,依照裁舊策略,不會閒置超過 5 秒以上的單一運算幾乎一律不會受到中斷。有些與檔案系統加密相關的運算也會對這些運算進行裁舊,但此情況十分罕見。這項新的裁舊策略運算有一個連帶作用,如果用戶端的裁舊能力低於所有現有運算的裁舊能力,建立作業會立刻失敗。 裁舊策略:為了找出適當的候選對象,我們會計算呼叫端和每個現有作業的 Malus。Malus 即裁舊能力 (呼叫端) 的反義詞,又稱 (現有運算的) 裁舊阻力。呼叫端必須找到一個比自身 Malus 更高的運算,才能裁舊某項運算。如要進一步瞭解裁舊策略,請參閱 operation.rs的實作方式。在 Android 11 (API 級別 30) 及更低版本中,KeyStore2 會輪詢 Keystore Daemon 以取得可用的作業運算單元。針對指定 Android 11 (API 級別 30) 以下版本為目標版本的應用程式,此運算看起來仍像是加密作業,並一律會緊接著進行簽名物件初始化,但可能需要比較久的時間才能取得運算。所有 Android 版本均享有更公平的作業運算單元排程,同時提高順利完成運算的機率。 | 
      
        | 變更 ID:174664365LOCK_DOWN_CLOSE_SYSTEM_DIALOGS
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本為目標,除非應用程式也具備 android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS權限,否則無法傳送Intent.ACTION_CLOSE_SYSTEM_DIALOGS。請注意,這是#DROP_CLOSE_SYSTEM_DIALOGS的限制較嚴格版本,一旦應用程式開始指定 Android 12 (API 級別 31) 以上版本,就不得再傳送Intent.ACTION_CLOSE_SYSTEM_DIALOGS意圖。 | 
      
        | 變更 ID:173031413LOCK_DOWN_COLLAPSE_STATUS_BAR
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標版本的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本為目標,基於安全考量,必須具備 Manifest.permission.STATUS_BAR權限才能收合狀態列面板。惡意軟體會利用這項功能,阻止使用者存取重要通知。 | 
      
        | 變更 ID:168936375LOW_POWER_EXCEPTIONS
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標版本的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本,當呼叫端沒有 LOCATION_HARDWARE權限時,所有標示為低功耗的LocationRequest物件都會擲回例外狀況,而不是默默捨棄要求中低功耗的部分。 | 
      
        | 變更 ID:150232615MISSING_EXPORTED_FLAG
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本,定義意圖篩選器時,必須為 android:exported屬性指定明確值。 如要進一步瞭解這項異動,請參閱「更安全的元件匯出功能」。 | 
      
        | 變更 ID:207557677NATIVE_HEAP_POINTER_TAGGING_APP_ZYGOTE
預設狀態:已針對指定 Android 12 (API 級別 32) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 32) 以上版本,AppZygote程序及其子項中的原生堆積分配作業,會在最高有效位元組中使用非零標記。 如要進一步瞭解這項異動,請參閱「標記指標」。 | 
      
        | 變更 ID:178038272NATIVE_HEAP_ZERO_INIT
預設狀態:已為所有應用程式停用。
 
 啟用原生堆積記憶體配置的自動零初始化功能。 | 
      
        | 變更 ID:135772972NATIVE_MEMTAG_ASYNC
預設狀態:已為所有應用程式停用。
 
 在此程序中啟用非同步 (ASYNC) 記憶體標記檢查。此標記只會影響支援 ARM Memory Tagging Extension (MTE) 的硬體。 | 
      
        | 變更 ID:177438394NATIVE_MEMTAG_SYNC
預設狀態:已為所有應用程式停用。
 
 在此程序中啟用同步 (SYNC) 記憶體標記檢查。此標記只會影響支援 ARM Memory Tagging Extension (MTE) 的硬體。若同時啟用 NATIVE_MEMTAG_ASYNC和此選項,則會以此選項為優先,並在 SYNC 模式下啟用 MTE。 | 
      
        | 變更 ID:184838306NEVER_SANDBOX_DISPLAY_APIS
預設狀態:已為所有應用程式停用。
 
 啟用後,即可避免將 Display API 沙箱機制套用至上下黑邊或 SCM 活動。Display API 會持續提供 DisplayArea 界限。 如要進一步瞭解這項變更,請參閱 Android 12 行為變更頁面中的「
           已淘汰的顯示方法」一節。 | 
      
        | 變更 ID:175319604NOTIFICATION_CANCELLATION_REASONS
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標版本的應用程式啟用。
 
 讓通知監聽器瞭解更具體的新取消原因。 | 
      
        | 變更 ID:167676448NOTIFICATION_TRAMPOLINE_BLOCK
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標版本的應用程式啟用。
 
 為改善應用程式效能和使用者體驗,目標 Android 12 的應用程式無法使用服務或廣播接收器做為通知彈跳床。 如要進一步瞭解這項變更,請參閱「無法從服務或廣播接收器建立通知彈跳床」。 | 
      
        | 變更 ID:182185642NULL_TELEPHONY_THROW_NO_CB
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標版本的應用程式啟用。
 
 用於檢查目前程序的目標 SDK 版本是否為 Android 12 (API 級別 31) 以上版本。 適用於下列方法:
              | 
      
        | 變更 ID:174042980OVERRIDE_MIN_ASPECT_RATIO
預設狀態:已為所有應用程式停用。
 
 這項變更負責為所有強制執行特定最小顯示比例的變更把關。啟用這項變更即可套用下列最小顯示比例: 為應用程式套件啟用此變更後,除非應用程式資訊清單中的值較大,否則應用程式資訊清單中指定的最小顯示比例將被覆寫為可啟用的最大顯示比例。 | 
      
        | 變更 ID:180326787OVERRIDE_MIN_ASPECT_RATIO_LARGE
預設狀態:已為所有應用程式停用。
 
 此時如果也啟用了 OVERRIDE_MIN_ASPECT_RATIO,則此套件變更會將活動的最小顯示比例設定為由OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE所定義的較大值。 | 
      
        | 變更 ID:180326845OVERRIDE_MIN_ASPECT_RATIO_MEDIUM
預設狀態:已為所有應用程式停用。
 
 此時如果也啟用了 OVERRIDE_MIN_ASPECT_RATIO,則此套件變更會將活動的最小顯示比例設定為由OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE所定義的中間值。 | 
      
        | 變更 ID:160794467PENDING_INTENT_EXPLICIT_MUTABILITY_REQUIRED
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本,您必須為應用程式建立的每個 PendingIntent物件指定可變動性。這項額外規定可提升應用程式的安全性。 如要進一步瞭解這項變更,請參閱「待處理意圖必須宣告可變動性」。 | 
      
        | 變更 ID:165573442PREVENT_SETTING_PASSWORD_QUALITY_ON_PARENT
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標版本的應用程式啟用。
 
 如果管理應用程式指定 Android 12 (API 級別 31) 以上版本,就無法使用 DevicePolicyManager.setPasswordQuality(ComponentName, int)在透過呼叫DevicePolicyManager.getParentProfileInstance(ComponentName)取得的DevicePolicyManager執行個體上設定密碼品質。請改用DevicePolicyManager.setRequiredPasswordComplexity(int)在裝置上設定粗略的密碼規定。 | 
      
        | 變更 ID:174840628RATE_LIMIT_TOASTS
預設狀態:您無法切換此變更。此變更僅可由相容性架構記錄。
 
 對 Toast.show()的呼叫次數啟用頻率限制,以免使用者在某段時間內收到大量浮動式訊息。若嘗試在特定時間範圍內顯示超過許可數量的浮動式訊息時,系統將會捨棄浮動式訊息。 | 
      
        | 變更 ID:171306433REQUIRE_EXACT_ALARM_PERMISSION
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標版本的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本,就必須具備 Manifest.permission.SCHEDULE_EXACT_ALARM權限,才能使用任何設定精確鬧鐘的 API,例如setExactAndAllowWhileIdle(int, long, PendingIntent)和setAlarmClock(AlarmClockInfo, PendingIntent)。 | 
      
        | 變更 ID:182478738REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_ACTIVE_DATA_SUB_ID
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本為目標,就必須具備 Manifest.permission.READ_PHONE_STATE權限,才能呼叫TelephonyCallback.ActiveDataSubscriptionIdListener。 | 
      
        | 變更 ID:184323934REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_CELL_INFO
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本為目標,就必須具備 Manifest.permission.READ_PHONE_STATE權限,才能呼叫TelephonyCallback.CellInfoListener。 | 
      
        | 變更 ID:183164979REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_DISPLAY_INFO
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本為目標,就必須具備 Manifest.permission.READ_PHONE_STATE權限,才能呼叫TelephonyCallback.DisplayInfoListener。 | 
      
        | 變更 ID:171032338RESTRICT_ADB_BACKUP
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標版本的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本,系統會自動為以可偵錯模式執行的應用程式 (android:debuggable設為true) 啟用adb backup,其他應用程式則無法使用這項功能。 | 
      
        | 變更 ID:175408749RESTRICT_DOMAINS
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本,就必須使用更新後的應用程式連結驗證 API 表單。這項規定是指應用程式必須在意圖篩選器中宣告網域,且該篩選器須包含下列所有項目: 
             android:autoVerify="true"Intent.ACTION_VIEWIntent.CATEGORY_BROWSABLEIntet.CATEGORY_DEFAULT僅限 IntentFilter.SCHEME_HTTP和/或IntentFilter.SCHEME_HTTPS,不得使用其他配置 在舊版 Android 中,Intent.CATEGORY_BROWSABLE並非必要條件,允許使用其他配置,且在任何意圖篩選器中將autoVerify設為true,都會隱含地將所有意圖篩選器設為autoVerify="true"。 | 
      
        | 變更 ID:151105954SECURITY_EXCEPTION_ON_INVALID_ATTRIBUTION_TAG_CHANGE
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標的應用程式啟用。
 
 如為指定 Android 12 (API 級別 31) 以上版本為目標的應用程式,系統會強制規定傳送至 noteOp(String, int, String)、noteProxyOp(String, String)和startOp(String, int, String)的所有attributionTags,都必須在指定為方法參數的套件資訊清單中定義。 如要啟用這項變更,呼叫 noteOp(String, int, String)的套件和指定為方法參數的套件都必須啟用這項變更。 | 
      
        | 變更 ID:143539591SELINUX_LATEST_CHANGES
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標版本的應用程式啟用。
 
 對於指定 Android 12 (API 級別 31) 以上版本的應用程式,系統會選擇採用最新的 SELinux 變更。如果應用程式指定 Android 12 (API 級別 31) 以上版本,關閉這項變更不會有任何作用。如果應用程式使用共用使用者 ID,這項變更也不會產生任何影響。 | 
      
        | 變更 ID:178111421SETTINGS_API_V2
預設狀態:已為所有應用程式啟用。
 
 目前平台預先發布版本尚未實作新的使用者偏好設定 API,因此無法驗證 AndroidManifest.xml 意圖篩選器中標示 autoVerify=true的網域。目前,您可以啟用這項 ChangeId 並使用adb shell pm set-app-links-user-selection和類似指令,預覽新的使用者偏好設定變更。 | 
      
        | 變更 ID:183972877USE_SHORT_FGS_USAGE_INTERACTION_TIME
預設狀態:已針對指定 Android 12 (API 級別 31) 以上版本為目標版本的應用程式啟用。
 
 如果應用程式指定 Android 12 (API 級別 31) 以上版本為目標,當應用程式啟動前景服務時,系統會判斷是否要使用較短的逾時時間,再將待機儲存區升級至 ACTIVE。 |