|  Идентификатор изменения: 185004937ALWAYS_SANDBOX_DISPLAY_APISСостояние по умолчанию : отключено для всех приложений.
 
  При включении применяется режим «песочницы» Display API к пакету независимо от режима окна. Display API всегда будут предоставлять границы приложения.  Дополнительную информацию об этом изменении см. в разделе на странице изменений поведения Android 12 о методах отображения, которые были объявлены устаревшими .  | 
|  Идентификатор изменения: 163400105AUTOFILL_NON_TEXT_REQUIRES_ON_RECEIVE_CONTENT_LISTENERСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 32) или выше.
 
  Начиная с Android 12, платформа может предоставлять нетекстовые подсказки (например, изображения) с помощью фреймворка дополненной реальности для автозаполнения (см. раздел «Сервисы автозаполнения »). Чтобы приложение могло обрабатывать эти подсказки, оно обычно должно реализовывать API OnReceiveContentListener.  Чтобы упростить внедрение этого API для приложений, ранее реализовавших API InputConnection.commitContent(InputContentInfo, int, Bundle), мы повторно используем этот API в качестве резервного варианта, еслиOnReceiveContentListenerещё не реализован в приложении. Этот резервный вариант доступен только в Android 12 (уровень API 31). Этот идентификатор изменения отключает резервный вариант, поэтому приложения, ориентированные на Android 12 (уровень API 32) и выше, должны реализовать APIOnReceiveContentListenerдля принятия нетекстовых подсказок. | 
|  Идентификатор изменения: 157929241BLOCK_FLAG_SLIPPERYСостояние по умолчанию : включено для всех приложений.
 
  Для приложений на Android 12 (уровень API 31) проверяется, используется ли FLAG_SLIPPERYв каких-либо окнах приложения. Мы предполагаем, что этот флаг, вероятно, используется только системными компонентами, поскольку это неподдерживаемое поле . В этом случае его использование будет ограничено. | 
|  Идентификатор изменения: 144027538BLOCK_GPS_STATUS_USAGEСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, все использование API GpsStatusнеобходимо заменить на APIGnssStatus. | 
|  Идентификатор изменения: 171317480BLOCK_IMMUTABLE_PENDING_INTENTSСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, неизменяемый Объекты PendingIntent, передаваемые в API определения местоположения, генерируют исключениеIllegalArgumentException. | 
|  Идентификатор изменения: 169887240BLOCK_PENDING_INTENT_SYSTEM_API_USAGEСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, системные API LocationRequestне могут использоваться с запросами местоположенияPendingIntent. | 
|  Идентификатор изменения: 158002302BLOCK_UNTRUSTED_TOUCHESСостояние по умолчанию : включено для всех приложений.
 
  Чтобы сохранить безопасность системы и удобство использования, Android 12 запрещает приложениям использовать сенсорные события , при которых наложение блокирует приложение небезопасным способом.  Дополнительную информацию об этом изменении см. в статье Блокируются ненадежные сенсорные события .  | 
|  Изменить ID: 78294732CALL_ACTIVITY_RESULT_BEFORE_RESUMEСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 32) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 32) и выше, корректирует жизненный цикл результата активности, чтобы гарантировать, что активность получит результат активности непосредственно перед возобновлением.  | 
|  Идентификатор изменения: 162547999CAMERA_MIC_INDICATORS_NOT_PRESENTСостояние по умолчанию : отключено для всех приложений.
 
  Указывает, что это устройство поддерживает индикаторы камеры и микрофона. При наличии будет иметь false, поскольку методCompatChanges#isChangeEnabledвозвращаетtrueесли идентификатор изменения отсутствует. | 
|  Идентификатор изменения: 146211400CANNOT_INSTALL_WITH_BAD_PERMISSION_GROUPSСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 32) или выше.
 
  Для приложений, предназначенных для Android 12 (уровень API 32) и выше, менеджер пакетов не установит пакет при наличии некорректных групп разрешений. Группы разрешений должны быть общими только для приложений, использующих один сертификат. Если разрешение принадлежит группе, эта группа также должна быть определена.  | 
|  Идентификатор изменения: 181350407CHANGE_ID_AUTH_STATE_DENIEDСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для клиентских приложений, ориентированных на Android 12 (уровень API 31) и выше, возникает исключение SecurityException, когда они находятся в состоянии отказа в авторизации и пытаются отправить сообщение наноприложению. | 
|  Идентификатор изменения: 136069189CHANGE_ID_SAMPLING_RATE_SENSORS_PERMISSIONСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, возникает исключение SecurityException, если у них нет разрешенияHIGH_SAMPLING_RATE_SENSORS, они работают в режиме отладки и запрашивают частоту дискретизации выше 200 Гц. | 
|  Изменить идентификатор: 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. | 
|  Идентификатор изменения: 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) он будет возвращать физическую частоту обновления дисплея. | 
|  Идентификатор изменения: 168419799DOWNSCALEDСостояние по умолчанию : отключено для всех приложений.
 
  Это изменение является гарантией всех изменений в уменьшении размера буфера для каждого приложения. Включение этого изменения позволяет применять следующие коэффициенты масштабирования:  При включении этого изменения для пакета приложения размер приложения принудительно изменяется до максимального разрешенного коэффициента масштабирования. Например, используется 80%, если включены оба коэффициента ( DOWNSCALE_80иDOWNSCALE_70). | 
|  Изменить ID: 189970040DOWNSCALE_30Состояние по умолчанию : отключено для всех приложений.
 
  Если также включена DOWNSCALED, включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с вертикальным и горизонтальным разрешением, составляющим 30% от реального дисплея. | 
|  Изменить ID: 189969749DOWNSCALE_35Состояние по умолчанию : отключено для всех приложений.
 
  Если также включена DOWNSCALED, включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с вертикальным и горизонтальным разрешением, составляющим 35% от реального дисплея. | 
|  Идентификатор изменения: 189970038DOWNSCALE_40Состояние по умолчанию : отключено для всех приложений.
 
  Если также включена DOWNSCALED, включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с вертикальным и горизонтальным разрешением, составляющим 40% от реального дисплея. | 
|  Изменить ID: 189969782DOWNSCALE_45Состояние по умолчанию : отключено для всех приложений.
 
  Если также включена DOWNSCALED, включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с вертикальным и горизонтальным разрешением, составляющим 45% от реального дисплея. | 
|  Идентификатор изменения: 176926741DOWNSCALE_50Состояние по умолчанию : отключено для всех приложений.
 
  Если также включена DOWNSCALED, включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 50% вертикального и горизонтального разрешения реального дисплея. | 
|  Изменить ID: 189970036DOWNSCALE_55Состояние по умолчанию : отключено для всех приложений.
 
  Если также включена DOWNSCALED, включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 55% вертикального и горизонтального разрешения реального дисплея. | 
|  Идентификатор изменения: 176926771DOWNSCALE_60Состояние по умолчанию : отключено для всех приложений.
 
  Если также включена DOWNSCALED, включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 60% вертикального и горизонтального разрешения реального дисплея. | 
|  Изменить ID: 189969744DOWNSCALE_65Состояние по умолчанию : отключено для всех приложений.
 
  Если также включена DOWNSCALED, включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 65% вертикального и горизонтального разрешения реального дисплея. | 
|  Идентификатор изменения: 176926829DOWNSCALE_70Состояние по умолчанию : отключено для всех приложений.
 
  Если также включена DOWNSCALED, включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 70% вертикального и горизонтального разрешения реального дисплея. | 
|  Изменить ID: 189969779DOWNSCALE_75Состояние по умолчанию : отключено для всех приложений.
 
  Если также включена DOWNSCALED, включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 75% вертикального и горизонтального разрешения реального дисплея. | 
|  Идентификатор изменения: 176926753DOWNSCALE_80Состояние по умолчанию : отключено для всех приложений.
 
  Если также включена DOWNSCALED, включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 80% вертикального и горизонтального разрешения реального дисплея. | 
|  Изменить ID: 189969734DOWNSCALE_85Состояние по умолчанию : отключено для всех приложений.
 
  Если также включена DOWNSCALED, включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 85% вертикального и горизонтального разрешения реального дисплея. | 
|  Изменить ID: 182811243DOWNSCALE_90Состояние по умолчанию : отключено для всех приложений.
 
  Если также включена DOWNSCALED, включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 90% вертикального и горизонтального разрешения реального дисплея. | 
|  Идентификатор изменения: 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Состояние по умолчанию : включено для всех приложений.
 
  Чтобы улучшить контроль пользователя при взаимодействии с приложениями и системой, действие намерения ACTION_CLOSE_SYSTEM_DIALOGSустарело, начиная с Android 12.  Дополнительную информацию об этом изменении см. в статье Приложения не могут закрывать системные диалоговые окна .  | 
|  Идентификатор изменения: 172100307ENABLE_CHECKS_FOR_PRIVATE_FILESСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Приложения, ориентированные на Android 12 (уровень API 31) и выше, не могут вставлять или обновлять приватные файлы с помощью поставщика медиа.  | 
|  Идентификатор изменения: 180326732ENABLE_DEFERRED_SCANСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Включите эту опцию, чтобы отложить сканирование, запускаемое как часть MediaProvider#update(). | 
| Идентификатор изменения: 157233955ENABLE_GET_CALL_STATE_PERMISSION_PROTECTION
Состояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, включает защиту READ_PHONE_STATEдля API, запрашивающих и уведомляющих о состоянии вызова, таких какTelecomManager#getCallState,TelephonyManager.getCallStateForSubscription()иTelephonyCallback.CallStateListener. | 
|  Идентификатор изменения: 183407956ENABLE_GET_PHONE_ACCOUNT_PERMISSION_PROTECTIONСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, включает защиту READ_PHONE_NUMBERSилиREAD_PRIVILEGED_PHONE_STATEвgetPhoneAccount(PhoneAccountHandle). | 
|  Идентификатор изменения: 182734110ENABLE_INCLUDE_ALL_VOLUMESСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Включите эту опцию, чтобы включить строки базы данных файлов из недавно размонтированного тома в MediaProvider#query. | 
|  Идентификатор изменения: 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). Окна неточных оповещений с более короткими окнами будут увеличены системой. | 
|  Идентификатор изменения: 142191088ENFORCE_NATIVE_SHARED_LIBRARY_DEPENDENCIESСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Приложения для Android 12 (уровень API 31) и выше должны декларировать зависимости от общедоступных нативных библиотек, определяемых производителем устройства, с помощью тега uses-native-libraryв файлеAndroidManifest.xml. Если какая-либо из зависимостей не может быть удовлетворена (например, одна из зависимостей отсутствует), менеджер пакетов не установит приложение. Зависимость можно указать как необязательную с помощью атрибутаandroid:requiredв теге. В этом случае неудовлетворение зависимости не остановит установку.  После установки приложению предоставляются только нативные общие библиотеки, указанные в манифесте приложения. Вызов dlopenдля нативной общей библиотеки, не указанной в манифесте приложения, завершится ошибкой, даже если она фактически существует на устройстве. | 
|  Изменить ID: 143231523ENFORCE_STRICT_QUERY_BUILDERСостояние по умолчанию : отключено для всех приложений.
 
  При включении SQLiteQueryBuilderпроверяет все выборки запросовCalendarProvider2на наличие вредоносных аргументов. | 
|  Идентификатор изменения: 170668199FGS_BG_START_RESTRICTION_CHANGE_IDСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, ограничивается время, когда приложения могут запускать службы переднего плана во время работы в фоновом режиме.  | 
|  Идентификатор изменения: 174041399FGS_START_EXCEPTION_CHANGE_IDСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, позволяет системе выдавать исключение IllegalStateException, если приложение пытается запустить службу переднего плана, работая в фоновом режиме. | 
| Идентификатор изменения: 156215187 Состояние по умолчанию : отключено для всех приложений.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, завершите InputConnection, когда устройство станетnon-interactive.  Если включен текущий input method, текущее входное соединение будетfinishedкак только устройства перестанут быть интерактивными.  Если этот параметр не включен, текущее входное соединение будет автоматически деактивировано, когда устройство станет неинтерактивным, а пара onFinishInput()иonStartInput()будет отправлена, когда устройство снова станет интерактивным. | 
|  Идентификатор изменения: 174227820FORCE_DISABLE_HEVC_SUPPORTСостояние по умолчанию : отключено для всех приложений.
 
  Принудительно отключите поддержку HEVC в приложении. Приложения должны указывать поддерживаемые возможности HEVC в манифесте, но этот флаг можно использовать, чтобы заставить приложение не поддерживать HEVC, тем самым принудительно перекодируя медиаданные, закодированные в HEVC. Установка этого флага переопределяет любые значения по умолчанию на уровне ОС для приложений. По умолчанию он отключен, то есть приоритет имеют значения по умолчанию ОС. Если включены и этот флаг, и FORCE_ENABLE_HEVC_SUPPORT, ОС игнорирует оба флага. | 
|  Изменить ID: 174228127FORCE_ENABLE_HEVC_SUPPORTСостояние по умолчанию : отключено для всех приложений.
 
  Принудительно включить поддержку HEVC в приложении. Приложения должны декларировать поддерживаемые возможности HEVC в манифесте, но этот флаг можно использовать, чтобы принудительно включить поддержку HEVC в приложении, тем самым избегая перекодирования при доступе к медиаконтенту, закодированному в HEVC. Установка этого флага переопределяет любые значения по умолчанию на уровне ОС для приложений. По умолчанию он отключен, то есть приоритет имеют значения по умолчанию ОС. Если включены и этот флаг, и FORCE_DISABLE_HEVC_SUPPORT, ОС игнорирует оба флага. | 
|  Изменить ID: 181136395FORCE_NON_RESIZE_APPСостояние по умолчанию : отключено для всех приложений.
 
  Принудительно делает пакеты, к которым применяется, неизменяемыми по размеру.  | 
|  Идентификатор изменения: 174042936FORCE_RESIZE_APPСостояние по умолчанию : отключено для всех приложений.
 
  Принудительно делает пакеты, к которым применяется, изменяемыми по размеру. Мы допускаем изменение размера только в полноэкранном оконном режиме, но не принудительно переводим приложение в многооконный режим с возможностью изменения размера.  | 
|  Идентификатор изменения: 171979766HIDE_PROP_ICUBINARY_DATA_PATHСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, удаляет доступ к свойству android.icu.impl.ICUBinary.dataPath. | 
|  Идентификатор изменения: 183147249IGNORE_ALLOW_BACKUP_IN_D2DСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, android:allowBackupигнорируется во время миграции с устройства на устройство (D2D). | 
|  Идентификатор изменения: 180523564IGNORE_FULL_BACKUP_CONTENT_IN_D2DСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, правила включения и исключения, указанные с помощью android:fullBackupContentигнорируются во время передачи данных с устройства на устройство (D2D). | 
|  Идентификатор изменения: 169273070IME_AUTOFILL_DEFAULT_SUPPORTED_LOCALES_IS_EMPTYСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, getSupportedLocales()теперь возвращает пустой список локалей, если он не установлен, вместо системной локали по умолчанию. | 
|  Идентификатор изменения: 158482162IS_BACKUP_SERVICE_ACTIVE_ENFORCE_PERMISSION_IN_SERVICEСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, разрешение BACKUP, необходимое дляisBackupServiceActive()применяется на стороне службы, а не на стороне клиента вBackupManager. | 
|  Идентификатор изменения: 169897160KEYSTORE_OPERATION_CREATION_MAY_FAILСостояние по умолчанию : отключено для всех приложений.
 
  При включении этой функции создание операции хранилища ключей может завершиться ошибкой в соответствии с новой стратегией обрезки. Раньше хранилище ключей работало исходя из предположения, что создание криптографических операций всегда завершается успешно. Однако бэкэнд KeyMint имеет лишь ограниченное количество слотов операций.  Чтобы поддерживать видимость «бесконечности» слотов операций, демон Keystore удалял наименее используемые операции при отсутствии доступного слота. В результате корректные операции могли быть преждевременно завершены. Это открывало AndroidKeystore для атак типа «отказ в обслуживании» (DoS) и непреднамеренной блокировки. Например, если несколько приложений одновременно активировались из-за оптимизации управления питанием и пытались выполнить криптографические операции, они начинали завершать операции друг друга, не достигая никакого прогресса.  Чтобы избежать динамических блокировок и предотвратить попытки DoS-атак, мы изменили стратегию обрезки таким образом, что теперь она отдаёт предпочтение клиентам, которые кратковременно используют несколько слотов операций. В результате отдельные операции, не остающиеся бездействующими более 5 секунд, практически всегда завершаются без помех со стороны стратегии обрезки. Некоторые операции, связанные с шифрованием файловой системы, всё ещё могут обрезать даже эти операции, но такие случаи крайне редки. Побочным эффектом этой новой стратегии обрезки является то, что создание операции теперь может завершиться неудачей, если у клиента мощность обрезки ниже, чем у всех существующих операций.  Стратегия обрезки : Чтобы найти подходящего кандидата, мы вычисляем штраф для вызывающего объекта и каждой существующей операции. Штраф является обратной величиной мощности обрезки (вызывающего объекта) или устойчивости к обрезке (существующей операции). Чтобы вызывающий объект мог выполнить обрезку операции, он должен найти операцию с штрафом, превышающим его собственный. Для получения дополнительной информации о стратегии обрезки см. реализацию 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) и выше, намерение Intent.ACTION_CLOSE_SYSTEM_DIALOGSне может быть отправлено, если у приложения также нет разрешенияandroid.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS. Обратите внимание, что это более строгая версия#DROP_CLOSE_SYSTEM_DIALOGS, которая предполагает, что приложение прекратит отправку намеренияIntent.ACTION_CLOSE_SYSTEM_DIALOGSпосле запуска. Для Android 12 (уровень API 31) и выше. | 
|  Идентификатор изменения: 173031413LOCK_DOWN_COLLAPSE_STATUS_BARСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, предназначенных для Android 12 (уровень API 31) и выше, для сворачивания панелей строки состояния требуется разрешение Manifest.permission.STATUS_BARпо соображениям безопасности. Это использовалось вредоносным ПО для блокировки доступа пользователя к критически важным уведомлениям. | 
|  Идентификатор изменения: 168936375LOW_POWER_EXCEPTIONSСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, все объекты LocationRequest, помеченные как объекты с низким энергопотреблением, выдают исключения, если у вызывающего объекта нет разрешенияLOCATION_HARDWARE, вместо того, чтобы молча отбрасывать часть запроса, касающуюся низкого энергопотребления. | 
|  Идентификатор изменения: 150232615MISSING_EXPORTED_FLAGСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, необходимо указывать явное значение для атрибута android:exportedвсякий раз, когда определяется фильтр намерений.  Более подробную информацию об этом изменении см. в разделе Более безопасный экспорт компонентов .  | 
|  Идентификатор изменения: 207557677NATIVE_HEAP_POINTER_TAGGING_APP_ZYGOTEСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 32) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 32) и выше, собственные выделения кучи в процессе AppZygoteи его потомках используют ненулевой тег в самом старшем байте.  Более подробную информацию об этом изменении см. в разделе Тегированные указатели .  | 
|  Изменить ID: 178038272NATIVE_HEAP_ZERO_INITСостояние по умолчанию : отключено для всех приложений.
 
  Включить автоматическую нулевую инициализацию выделенной памяти кучи.  | 
|  Идентификатор изменения: 135772972NATIVE_MEMTAG_ASYNCСостояние по умолчанию : отключено для всех приложений.
 
  Включить асинхронную (ASYNC) проверку тегов памяти в этом процессе. Этот флаг влияет только на оборудование, поддерживающее расширение тегирования памяти ARM (MTE).  | 
|  Изменить ID: 177438394NATIVE_MEMTAG_SYNCСостояние по умолчанию : отключено для всех приложений.
 
  Включает синхронную (SYNC) проверку тегов памяти в этом процессе. Этот флаг влияет только на оборудование, поддерживающее расширение тегирования памяти ARM (MTE). Если включены и NATIVE_MEMTAG_ASYNC, и этот параметр, приоритет имеет этот параметр, и MTE включается в режиме SYNC. | 
|  Изменить ID: 184838306NEVER_SANDBOX_DISPLAY_APISСостояние по умолчанию : отключено для всех приложений.
 
  При включении предотвращает применение режима «песочницы» Display API к почтовому ящику или активности SCM. Display API продолжит предоставлять границы DisplayArea.  Дополнительную информацию об этом изменении см. в разделе на странице изменений поведения Android 12 о методах отображения, которые были объявлены устаревшими .  | 
|  Изменить ID: 175319604NOTIFICATION_CANCELLATION_REASONSСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Позволяет прослушивателям уведомлений понять новые, более конкретные причины отмены.  | 
|  Идентификатор изменения: 167676448NOTIFICATION_TRAMPOLINE_BLOCKСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Чтобы улучшить производительность и пользовательский опыт приложений, предназначенных для Android 12, нельзя использовать службы или широковещательные приемники в качестве батутов уведомлений.  Дополнительную информацию об этом изменении см. в статье Батуты уведомлений не могут быть созданы из служб или приемников вещания .  | 
|  Идентификатор изменения: 182185642NULL_TELEPHONY_THROW_NO_CBСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Используется для проверки того, соответствует ли целевая версия SDK для текущего процесса Android 12 (уровень API 31) или выше.  Применимо к следующим методам: | 
|  Идентификатор изменения: 174042980OVERRIDE_MIN_ASPECT_RATIOСостояние по умолчанию : отключено для всех приложений.
 
  Это изменение является контролёром всех изменений, устанавливающих заданное минимальное соотношение сторон. Включение этого изменения позволяет применять следующие минимальные соотношения сторон:  Если это изменение включено для пакета приложения, минимальное соотношение сторон, указанное в манифесте приложения, переопределяется наибольшим разрешенным соотношением сторон, если только значение манифеста приложения не выше.  | 
|  Идентификатор изменения: 180326787OVERRIDE_MIN_ASPECT_RATIO_LARGEСостояние по умолчанию : отключено для всех приложений.
 
  Если также включено OVERRIDE_MIN_ASPECT_RATIO, включение этого изменения для пакета устанавливает минимальное соотношение сторон действия на большое значение, как определеноOVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE. | 
|  Идентификатор изменения: 180326845OVERRIDE_MIN_ASPECT_RATIO_MEDIUMСостояние по умолчанию : отключено для всех приложений.
 
  Если также включено OVERRIDE_MIN_ASPECT_RATIO, включение этого изменения для пакета устанавливает минимальное соотношение сторон действия к среднему значению, определенномуOVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE. | 
|  Идентификатор изменения: 160794467PENDING_INTENT_EXPLICIT_MUTABILITY_REQUIREDСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, необходимо указать изменяемость каждого объекта PendingIntent, создаваемого вашим приложением. Это дополнительное требование повышает безопасность вашего приложения.  Дополнительную информацию об этом изменении см. в разделе Ожидающие намерения должны декларировать изменчивость .  | 
|  Идентификатор изменения: 165573442PREVENT_SETTING_PASSWORD_QUALITY_ON_PARENTСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Приложения администратора, предназначенные для Android 12 (уровень API 31) и выше, не могут использовать DevicePolicyManager.setPasswordQuality(ComponentName, int)для установки качества пароля в экземпляреDevicePolicyManager, полученном путем вызоваDevicePolicyManager.getParentProfileInstance(ComponentName). Вместо этого им следует использоватьDevicePolicyManager.setRequiredPasswordComplexity(int)для установки общих требований к паролям на уровне всего устройства. | 
|  Изменить ID: 174840628RATE_LIMIT_TOASTSСостояние по умолчанию : это изменение невозможно изменить. Оно регистрируется только фреймворком совместимости.
 
  Включает ограничение количества вызовов Toast.show(), чтобы не перегружать пользователя слишком большим количеством уведомлений за ограниченное время. Любая попытка показать больше уведомлений, чем разрешено, за определённый период времени приводит к удалению уведомления. | 
|  Идентификатор изменения: 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. | 
|  Идентификатор изменения: 183164979REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_DISPLAY_INFOСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, необходимо иметь разрешение Manifest.permission.READ_PHONE_STATEдля вызоваTelephonyCallback.DisplayInfoListener. | 
|  Идентификатор изменения: 171032338RESTRICT_ADB_BACKUPСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, adb backupавтоматически включается для приложений, работающих как отлаживаемые (android:debuggableустановлено вtrue) и недоступно для других приложений. | 
|  Идентификатор изменения: 175408749RESTRICT_DOMAINSСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, требуется обновлённая версия API проверки ссылок приложений. Это требование означает, что приложение должно декларировать домены внутри фильтра намерений, который включает в себя все следующие элементы:  android:autoVerify="true" Intent.ACTION_VIEW Intent.CATEGORY_BROWSABLE Intet.CATEGORY_DEFAULT Только IntentFilter.SCHEME_HTTPи/илиIntentFilter.SCHEME_HTTPS, без других схем
  В предыдущих версиях Android Intent.CATEGORY_BROWSABLEне был обязательным требованием, допускались другие схемы, а установкаautoVerifyв значениеtrueв любом фильтре намерений неявно создавала впечатление, что все фильтры намерений были установлены вautoVerify="true". | 
|  Идентификатор изменения: 151105954SECURITY_EXCEPTION_ON_INVALID_ATTRIBUTION_TAG_CHANGEСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, ориентированных на Android 12 (уровень API 31) и выше, обеспечивается, чтобы все attributionTags, отправленные вnoteOp(String, int, String),noteProxyOp(String, String)иstartOp(String, int, String)были определены в манифесте пакета, который указан как параметр методов.  Чтобы включить это изменение, это изменение должно быть включено как в пакете, вызывающем noteOp(String, int, String)так и в пакете, указанном в качестве параметра метода. | 
|  Идентификатор изменения: 143539591SELINUX_LATEST_CHANGESСостояние по умолчанию : включено для приложений, предназначенных для Android 12 (уровень API 31) или выше.
 
  Для приложений, предназначенных для Android 12 (уровень API 31) и выше, включает последние изменения SELinux. Отключение этого изменения для приложения, предназначенного для Android 12 (уровень API 31) и выше, не вызывает никаких действий. Не влияет на приложения, использующие общий идентификатор пользователя.  | 
|  Изменить ID: 178111421SETTINGS_API_V2Состояние по умолчанию : включено для всех приложений.
 
  Новый API пользовательских настроек для проверки доменов, отмеченных как autoVerify=trueв фильтрах намерений AndroidManifest.xml, пока не реализован в текущей предварительной версии платформы. В настоящее время можно просмотреть изменения в пользовательских настройках, включив этот 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, когда приложения запускают службу переднего плана. |