| 变更 ID:185004937ALWAYS_SANDBOX_DISPLAY_APIS
默认状态:对所有应用都处于停用状态。
 
 启用后,无论对于何种窗口模式,都会将 Display API 沙盒应用于软件包。Display API 将始终提供应用边界。 如需详细了解此变更,请参阅 Android 12 行为变更页面中关于
           已废弃的 Display 方法的部分。 | 
      
        | 变更 ID:163400105AUTOFILL_NON_TEXT_REQUIRES_ON_RECEIVE_CONTENT_LISTENER
默认状态:对以 Android 12(API 级别 32)或更高版本为目标平台的应用处于启用状态。
 
 从 Android 12 开始,平台可以使用经过增强的自动填充框架(请参阅自动填充服务)提供非文本建议(例如图片)。应用为了能处理这些建议,通常必须实现 OnReceiveContentListenerAPI。 为了让之前已实现 InputConnection.commitContent(InputContentInfo, int, Bundle)API 的应用更顺利地采用此 API,我们重复使用该 API 作为回退(如果相关应用尚未实现OnReceiveContentListener)。该回退仅在 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)及更高版本为目标平台的应用,LocationRequest系统 API 不能与PendingIntent位置信息请求一起使用。 | 
      
        | 变更 ID:158002302BLOCK_UNTRUSTED_TOUCHES
默认状态:对所有应用都处于启用状态。
 
 为了维护系统安全并保持良好的用户体验,Android 12 会阻止应用使用触摸事件,使用触摸事件时叠加层会以不安全的方式屏蔽应用。 如需详细了解此变更,请参阅不受信任的触摸事件被屏蔽。 | 
      
        | 变更 ID:78294732CALL_ACTIVITY_RESULT_BEFORE_RESUME
默认状态:对以 Android 12(API 级别 32)或更高版本为目标平台的应用处于启用状态。
 
 对于以 Android 12(API 级别 32)及更高版本为目标平台的应用,更正了 activity 结果的生命周期,以保证 activity 在恢复前获得 activity 结果。 | 
      
        | 变更 ID:162547999CAMERA_MIC_INDICATORS_NOT_PRESENT
默认状态:对所有应用都处于停用状态。
 
 表示此设备支持摄像头和麦克风指示灯。如果存在该变更 ID,值将为 false,因为如果不存在,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)及更高版本为目标平台的客户端应用,如果它们处于已被拒绝授权状态,并尝试向 nanoapp 发送消息,则系统会抛出 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 12(API 级别 31)及更高版本为目标平台的 Android TV 应用需要处理任何窗口尺寸,包括大于 1080p 的窗口尺寸。
             以更低 Android 版本为目标平台的应用预计不会接收大于 1080p 的窗口,因此必要时它们的窗口会缩小到 1080p。 | 
      
        | 变更 ID:174664120DROP_CLOSE_SYSTEM_DIALOGS
默认状态:对所有应用都处于启用状态。
 
 为了加强用户与应用和系统互动时的控制,从 Android 12 开始,弃用了 ACTION_CLOSE_SYSTEM_DIALOGSintent 操作。 如需详细了解此变更,请参阅应用无法关闭系统对话框。 | 
      
        | 变更 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)及更高版本为目标平台的应用,会为查询和通知调用状态(例如 TelecomManager#getCallState、TelephonyManager.getCallStateForSubscription()和TelephonyCallback.CallStateListener)的 API 启用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 编码的媒体时强制执行转码。设置此标志会替换应用的任何操作系统级默认值。该变更默认处于停用状态,这意味着操作系统默认值优先。如果同时启用此标志和 FORCE_ENABLE_HEVC_SUPPORT,操作系统会忽略这两个标志。 | 
      
        | 变更 ID:174228127FORCE_ENABLE_HEVC_SUPPORT
默认状态:对所有应用都处于停用状态。
 
 强制应用支持 HEVC 媒体功能。应用应在其清单中声明其支持的媒体功能,但此标志可用于强制应用支持 HEVC,从而在访问以 HEVC 编码的媒体时避免转码。设置此标志会替换应用的任何操作系统级默认值。该变更默认处于停用状态,这意味着操作系统默认值优先。如果同时启用此标志和 FORCE_DISABLE_HEVC_SUPPORT,操作系统会忽略这两个标志。 | 
      
        | 变更 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)及更高版本为目标平台的应用,在 BackupManager中isBackupServiceActive()所需的BACKUP权限在服务端而非客户端强制执行。 | 
      
        | 变更 ID:169897160KEYSTORE_OPERATION_CREATION_MAY_FAIL
默认状态:对所有应用都处于停用状态。
 
 启用后,根据新的剪枝策略,密钥库操作创建可能会失败。过去,密钥库运行时会假定加密操作的创建始终成功。
           但是,KeyMint 后端的操作槽位数量有限。 为了保持“无限”操作槽位数顺畅运行,密钥库守护程序会在没有可用操作槽位时修剪近期最少使用的操作。因此,运行正常的操作可能会提前终止。这会导致 AndroidKeystore 容易遭受拒绝服务攻击 (DoS) 和出现意外活锁现象。例如,如果多个应用因电源管理优化而同时唤醒并尝试执行加密操作,这些应用会开始终止彼此的操作,而不会取得任何进展。 为了打破活锁并阻止 DoS 尝试,我们更改了剪枝策略,以便优先处理当前使用很少的操作槽位的客户端。因此,对于处于非活跃状态不超过 5 秒的单个操作,几乎不会受到剪枝策略的影响。仍然有一些与文件系统加密相关的操作可能会被修剪,但这种情况极为罕见。这项新剪枝策略操作带来的负面影响是,如果客户端的修剪动力低于所有现有操作,那么创建就会失败。 剪枝策略:为了找到合适的候选项,我们会计算调用方和每项现有操作的 malus。malus 是修剪动力(调用方)或修剪阻力(现有操作)的逆。为了能够修剪操作,调用方必须找到一个满足以下条件的操作:操作的 malus 要比调用方的 malus 大。如需详细了解剪枝策略,请参阅 operation.rs的实现。
          在 Android 11(API 级别 30)及更低版本中,KeyStore2 会轮询 Keystore 守护程序以获取闲置的操作槽位。对于以 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_DIALOGSintent。 | 
      
        | 变更 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)及更高版本为目标平台的应用,每定义一个 intent 过滤器,都必须为 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 内存标记扩展 (MTE) 的硬件。 | 
      
        | 变更 ID:177438394NATIVE_MEMTAG_SYNC
默认状态:对所有应用都处于停用状态。
 
 在此进程中启用同步 (SYNC) 内存标记检查。此标志仅影响支持 ARM 内存标记扩展 (MTE) 的硬件。如果同时启用 NATIVE_MEMTAG_ASYNC和此选项,那么此选项优先,并会在同步模式下启用 MTE。 | 
      
        | 变更 ID:184838306NEVER_SANDBOX_DISPLAY_APIS
默认状态:对所有应用都处于停用状态。
 
 启用后,可防止将 Display API 沙盒应用于信箱或 SCM activity。Display API 将继续提供 DisplayArea 边界。 如需详细了解此变更,请参阅 Android 12 行为变更页面中关于
           已废弃的 Display 方法的部分。 | 
      
        | 变更 ID:175319604NOTIFICATION_CANCELLATION_REASONS
默认状态:对以 Android 12(API 级别 31)或更高版本为目标平台的应用处于启用状态。
 
 使通知监听器能够了解更加具体的新取消原因。 | 
      
        | 变更 ID:167676448NOTIFICATION_TRAMPOLINE_BLOCK
默认状态:对以 Android 12(API 级别 31)或更高版本为目标平台的应用处于启用状态。
 
 为提升应用性能和用户体验,以 Android 12 为目标平台的应用无法将服务或广播接收器用作通知 trampoline。 如需详细了解此变更,请参阅无法通过服务或广播接收器创建通知 trampoline。 | 
      
        | 变更 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,则为软件包启用此变更便会将相应 activity 的最小宽高比设为OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE定义的较大值。 | 
      
        | 变更 ID:180326845OVERRIDE_MIN_ASPECT_RATIO_MEDIUM
默认状态:对所有应用都处于停用状态。
 
 如果同时还启用了 OVERRIDE_MIN_ASPECT_RATIO,则为软件包启用此变更便会将相应 activity 的最小宽高比设为OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE定义的中等值。 | 
      
        | 变更 ID:160794467PENDING_INTENT_EXPLICIT_MUTABILITY_REQUIRED
默认状态:对以 Android 12(API 级别 31)或更高版本为目标平台的应用处于启用状态。
 
 对于以 Android 12(API 级别 31)及更高版本为目标平台的应用,您必须指定应用创建的每个 PendingIntent对象的可变性。这项额外的要求可提高应用的安全性。 如需详细了解此变更,请参阅待处理 intent 必须声明可变性。 | 
      
        | 变更 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)及更高版本为目标平台的应用,adb backup会为作为可调试应用(android:debuggable设为true)运行的应用自动打开,并且不可用于任何其他应用。 | 
      
        | 变更 ID:175408749RESTRICT_DOMAINS
默认状态:对以 Android 12(API 级别 31)或更高版本为目标平台的应用处于启用状态。
 
 对于以 Android 12(API 级别 31)及更高版本为目标平台的应用,必须使用更新后的应用链接验证 API 格式。此要求意味着,应用必须在包含以下所有项的 intent 过滤器内声明网域: 
             android:autoVerify="true"Intent.ACTION_VIEWIntent.CATEGORY_BROWSABLEIntet.CATEGORY_DEFAULT只有 IntentFilter.SCHEME_HTTP和/或IntentFilter.SCHEME_HTTPS,没有其他方案 在之前的 Android 版本中,Intent.CATEGORY_BROWSABLE不是必需的,可以使用其他方案,并且在任意 intent 过滤器中将autoVerify设置为true都会隐式假定所有 intent 过滤器都设置为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
默认状态:对所有应用均启用。
 
 当前平台预览中尚未实现用于验证在 AndroidManifest.xml intent 过滤器中标记为 autoVerify=true的网域的新用户偏好设置 API。现在,您可以启用此变更 ID 并使用adb shell pm set-app-links-user-selection和类似命令来预览新的用户偏好设置变更。 | 
      
        | 变更 ID:183972877USE_SHORT_FGS_USAGE_INTERACTION_TIME
默认状态:对以 Android 12(API 级别 31)或更高版本为目标平台的应用处于启用状态。
 
 对于以 Android 12(API 级别 31)及更高版本为目标平台的应用,确定当应用启动前台服务时,是否先使用较小的超时值,然后再将待机模式存储分区提升为 ACTIVE。 |