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