Изменения в системе совместимости (Android 14)

Рисунок 1. На экране «Изменения совместимости приложения» в параметрах разработчика перечислены изменения, которые можно включить или выключить.

На этой странице описаны переключаемые изменения, являющиеся частью системы совместимости Android 14 (уровень API 34). Используйте этот список в сочетании с параметрами разработчика и командами ADB для тестирования и отладки вашего приложения при подготовке к поддержке и целевому запуску Android 14.

Вот некоторые из возможностей, которые предоставляет инструментарий обеспечения совместимости:

  • Протестируйте целевые изменения, не меняя при этом targetSdkVersion приложения . Вы можете использовать переключатели для принудительного включения определенных целевых изменений поведения, чтобы оценить их влияние на существующее приложение.
  • Сосредоточьте тестирование только на конкретных изменениях . Вместо того чтобы проверять все целевые изменения одновременно, переключатели позволяют отключить все целевые изменения, кроме тех, которые вы хотите проверить.
  • Управляйте переключателями через adb . Вы можете использовать команды adb для включения и выключения переключаемых изменений в вашей среде автоматизированного тестирования.
  • Отладка происходит быстрее благодаря стандартным идентификаторам изменений . Каждое из изменений, которое можно переключать, имеет уникальный идентификатор и имя, которые можно использовать для быстрой отладки первопричины в логах.

Подробную информацию об использовании инструментов для каждого из этих сценариев см. в разделе «Инструменты платформы совместимости» .

Изменения в поведении, включенные в рамки совместимости.

В этом разделе представлен список переключаемых изменений, включенных в структуру совместимости Android 14.

Вы можете отфильтровать список изменений по их состоянию по умолчанию .

В Android 14 есть возможность включать и выключать различные изменения в системе совместимости.

ACCESS_SHARED_IDENTITY

Идентификатор изменения: 259743961
Состояние по умолчанию : Включено для всех приложений.

Предоставляет доступ к идентификатору запускающего приложения, если приложение согласилось на обмен своим идентификатором, запустив это действие с экземпляром ActivityOptions для которого был вызван метод ActivityOptions.setShareIdentityEnabled(boolean) со значением true , или если UID запущенного действия совпадает с UID запускающего приложения. Когда это изменение включено и выполнено одно из этих требований, действие может получить доступ к UID и имени пакета запускающего приложения с помощью Activity.getLaunchedFromUid() и Activity.getLaunchedFromPackage() соответственно.

ANR_PRE_UDC_APIS_ON_SLOW_RESPONSES

Идентификатор изменения: 258236856
Состояние по умолчанию : Включено для приложений, ориентированных на Android 14 (уровень API 34) или выше.

При включении этой функции появляется сообщение "Приложение не отвечает" (ANR), если приложения медленно реагируют на API и функциональные возможности Android 13 (уровень API 33) или более ранних версий.

AUTHORITY_ACCESS_CHECK_CHANGE_ID

Идентификатор изменения: 207133734
Состояние по умолчанию : Включено для приложений, ориентированных на Android 14 (уровень API 34) или выше.

Для приложений, ориентированных на Android 14 (уровень API 34) и выше, включает проверку наличия полномочий для вызывающего UID во всех API, связанных с синхронизацией.

CAMERA_MIC_INDICATORS_NOT_PRESENT

Идентификатор изменения: 162547999
Состояние по умолчанию : Отключено для всех приложений.

Указывает, что данное устройство поддерживает индикаторы камеры и микрофона. Значение равно false , если индикатор присутствует, поскольку метод CompatChanges#isChangeEnabled возвращает true если идентификатор изменения отсутствует.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_SENDER

Идентификатор изменения: 244637991
Состояние по умолчанию : Включено для приложений, ориентированных на Android 14 (уровень API 34) или выше.

Когда приложение отправляет PendingIntent с помощью PendingIntent#send() или аналогичного метода, теперь приложению необходимо указать, хочет ли оно предоставить своим собственным фоновым активностям права на запуск ожидающего намерения.

Чтобы узнать больше об этом изменении, см. раздел на странице изменений поведения Android 14, посвященный дополнительным ограничениям на запуск действий в фоновом режиме .

DETACH_THROWS_ISE_ONLY

Идентификатор изменения: 236825255
Состояние по умолчанию : Включено для приложений, ориентированных на Android 14 (уровень API 34) или выше.

Флаг для исправления исключения, выброшенного функцией #detachImage .

Согласно документации, метод #detachImage в случае ошибки генерирует исключение IllegalStateException ; вспомогательный метод, использующий этот метод, генерировал исключение RuntimeException если поверхность была отсоединена во время отсоединения Image .

Это ранее не описанное исключение сохраняется в Android 13 (уровень API 33).

Начиная с Android 13 (уровень API 33), встроенный вспомогательный метод генерирует только исключения IllegalStateExceptions в соответствии с документацией.

При включении этого изменения #detachImage будет генерировать исключение IllegalStateException только в случае возникновения ошибок при отсоединении изображения. Для приложений, ориентированных на Android 13 (уровень API 33) и ниже, поведение остается неизменным.

DOWNSCALED

Идентификатор изменения: 168419799
Состояние по умолчанию : Отключено для всех приложений.

Это изменение является определяющим фактором для всех изменений масштабирования буфера для каждого приложения. Включение этого изменения позволяет применять следующие коэффициенты масштабирования:

Если для пакета приложения включено это изменение, размер приложения принудительно изменяется до максимального включенного коэффициента масштабирования. Например, используется 80%, если включены и 80%, и 70% ( DOWNSCALE_80 и DOWNSCALE_70 ). Если включены и это изменение, и DOWNSCALED_INVERSE , то приоритет имеет DOWNSCALED_INVERSE , и коэффициент масштабирования применяется в обратном порядке.

DOWNSCALED_INVERSE

Идентификатор изменения: 273564678
Состояние по умолчанию : Отключено для всех приложений.

Это изменение является определяющим фактором для всех изменений обратного масштабирования буфера для каждого приложения. Включение этого изменения позволяет применять следующие коэффициенты масштабирования в обратном порядке (то есть разрешение вместо этого увеличивается):

Когда это изменение включено для пакета приложения, размер приложения принудительно изменяется до наименьшего включенного коэффициента масштабирования. Например, используется 80%, если включены и 80%, и 70% ( DOWNSCALE_80 и DOWNSCALE_70 ), потому что при обратном применении коэффициент масштабирования 80% равен 125%, что меньше, чем 142,86%, применяемые при обратном применении коэффициента масштабирования 70%. Когда включены и это изменение, и DOWNSCALED , приоритет имеет DOWNSCALED_INVERSE , и коэффициент масштабирования применяется обратно.

DOWNSCALE_30

Идентификатор изменения: 189970040
Состояние по умолчанию : Отключено для всех приложений.

Если DOWNSCALED также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 30% от вертикального и горизонтального разрешения реального дисплея. Если DOWNSCALED_INVERSE также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 333,33% от вертикального и горизонтального разрешения реального дисплея.

DOWNSCALE_35

Идентификатор изменения: 189969749
Состояние по умолчанию : Отключено для всех приложений.

Если DOWNSCALED также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 35% от вертикального и горизонтального разрешения реального дисплея. Если DOWNSCALED_INVERSE также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 285,71% от вертикального и горизонтального разрешения реального дисплея.

DOWNSCALE_40

Идентификатор изменения: 189970038
Состояние по умолчанию : Отключено для всех приложений.

Если DOWNSCALED также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 40% от вертикального и горизонтального разрешения реального дисплея. Если DOWNSCALED_INVERSE также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 250% от вертикального и горизонтального разрешения реального дисплея.

DOWNSCALE_45

Идентификатор изменения: 189969782
Состояние по умолчанию : Отключено для всех приложений.

Если DOWNSCALED также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 45% от вертикального и горизонтального разрешения реального дисплея. Если DOWNSCALED_INVERSE также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 222,22% от вертикального и горизонтального разрешения реального дисплея.

DOWNSCALE_50

Идентификатор изменения: 176926741
Состояние по умолчанию : Отключено для всех приложений.

Если DOWNSCALED также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 50% вертикального и горизонтального разрешения реального дисплея. Если DOWNSCALED_INVERSE также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 200% вертикального и горизонтального разрешения реального дисплея.

DOWNSCALE_55

Идентификатор изменения: 189970036
Состояние по умолчанию : Отключено для всех приложений.

Если DOWNSCALED также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 55% от вертикального и горизонтального разрешения реального дисплея. Если DOWNSCALED_INVERSE также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 181,82% от вертикального и горизонтального разрешения реального дисплея.

DOWNSCALE_60

Идентификатор изменения: 176926771
Состояние по умолчанию : Отключено для всех приложений.

Если DOWNSCALED также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 60% от вертикального и горизонтального разрешения реального дисплея. Если DOWNSCALED_INVERSE также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 166,67% от вертикального и горизонтального разрешения реального дисплея.

DOWNSCALE_65

Идентификатор изменения: 189969744
Состояние по умолчанию : Отключено для всех приложений.

Если DOWNSCALED также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 65% от вертикального и горизонтального разрешения реального дисплея. Если DOWNSCALED_INVERSE также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 153,85% от вертикального и горизонтального разрешения реального дисплея.

DOWNSCALE_70

Идентификатор изменения: 176926829
Состояние по умолчанию : Отключено для всех приложений.

Если DOWNSCALED также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 70% вертикального и горизонтального разрешения реального дисплея. Если DOWNSCALED_INVERSE также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 142,86% вертикального и горизонтального разрешения реального дисплея.

DOWNSCALE_75

Идентификатор изменения: 189969779
Состояние по умолчанию : Отключено для всех приложений.

Если DOWNSCALED также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 75% вертикального и горизонтального разрешения реального дисплея. Если DOWNSCALED_INVERSE также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 133,33% вертикального и горизонтального разрешения реального дисплея.

DOWNSCALE_80

Идентификатор изменения: 176926753
Состояние по умолчанию : Отключено для всех приложений.

Если DOWNSCALED также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 80% вертикального и горизонтального разрешения реального дисплея. Если DOWNSCALED_INVERSE также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 125% вертикального и горизонтального разрешения реального дисплея.

DOWNSCALE_85

Идентификатор изменения: 189969734
Состояние по умолчанию : Отключено для всех приложений.

Если DOWNSCALED также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 85% вертикального и горизонтального разрешения реального дисплея. Если DOWNSCALED_INVERSE также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 117,65% вертикального и горизонтального разрешения реального дисплея.

DOWNSCALE_90

Идентификатор изменения: 182811243
Состояние по умолчанию : Отключено для всех приложений.

Если DOWNSCALED также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 90% вертикального и горизонтального разрешения реального дисплея. Если DOWNSCALED_INVERSE также включен, то включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 111,11% вертикального и горизонтального разрешения реального дисплея.

ENABLE_PLATFORM_MDNS_BACKEND

Идентификатор изменения: 270306772
Состояние по умолчанию : Включено для приложений, ориентированных на Android 14 (уровень API 34) или выше.

Приложения, ориентированные на Android 14 и выше, используют интегрированную в платформу реализацию mDNS в качестве бэкэнда, в то время как приложения, ориентированные на более ранние версии, продолжают использовать устаревший бэкэнд обнаружения сетевых служб (NSD) (с устаревшим нативным демоном в качестве бэкэнда NsdManager ).

ENABLE_SELF_CERTIFIED_CAPABILITIES_DECLARATION

Идентификатор изменения: 266524688
Состояние по умолчанию : Включено для приложений, ориентированных на Android 14 (уровень API 34) или выше.

Проверка возможностей самосертификации включена для приложений, ориентированных на Android 14 или выше. Дополнительные сведения см. в NetworkCapabilities .

ENFORCE_PACKAGE_VISIBILITY_FILTERING

Идентификатор изменения: 154726397
Состояние по умолчанию : Включено для приложений, ориентированных на Android 14 (уровень API 34) или выше.

Для приложений, ориентированных на Android 14 (уровень API 34) и выше, необходимо указать требования к видимости пакетов в манифесте для доступа к API AccountManager .

ENFORCE_READ_ONLY_JAVA_DCL

Идентификатор изменения: 218865702
Состояние по умолчанию : Включено для приложений, ориентированных на Android 14 (уровень API 34) или выше.

Для приложений, ориентированных на Android 14 (уровень API 34) и выше, требуется пометить все динамически загружаемые файлы как доступные только для чтения. Это предотвращает неожиданное перезаписывание динамически загружаемых файлов злоумышленниками.

Чтобы узнать больше об этом изменении, см. раздел на странице изменений поведения Android 14, посвященный более безопасной динамической загрузке кода .

ENFORCE_STRICT_QUERY_BUILDER

Идентификатор изменения: 143231523
Состояние по умолчанию : Отключено для всех приложений.

При включении SQLiteQueryBuilder проверяет все параметры запросов CalendarProvider2 на наличие вредоносных аргументов.

EXACT_LISTENER_ALARMS_DROPPED_ON_CACHED

Идентификатор изменения: 265195908
Состояние по умолчанию : Включено для всех приложений.

Точные сигналы тревоги, ожидающие обратного вызова AlarmManager.OnAlarmListener , отбрасываются, когда вызывающее приложение переходит в кэшированное состояние.

Чтобы узнать больше об изменениях в работе функции точных будильников в Android 14, см. статью «Запланировать точные будильники по умолчанию запрещено» .

FGS_TYPE_CHECK_FOR_INSTANT_APPS

Идентификатор изменения: 261055255
Состояние по умолчанию : Включено для приложений, ориентированных на Android 14 (уровень API 34) или выше.

При включении этой функции мгновенные приложения должны указывать соответствующие типы служб переднего плана для любых служб, объявленных в файле манифеста приложения.

Чтобы узнать больше об этом изменении, см. страницу с описанием изменений в типах служб переднего плана .

FGS_TYPE_NONE_DEPRECATION_CHANGE_ID

Идентификатор изменения: 255042465
Состояние по умолчанию : Включено для приложений, ориентированных на Android 14 (уровень API 34) или выше.

При включении этой функции приложения, ориентированные на Android 14 (уровень API 34) и выше, которые запускают службу переднего плана, используя устаревший тип FOREGROUND_SERVICE_TYPE_NONE будут выдавать предупреждение в журнале.

Чтобы узнать больше об этом изменении, см. страницу с описанием изменений в типах служб переднего плана .

FGS_TYPE_NONE_DISABLED_CHANGE_ID

Идентификатор изменения: 255038118
Состояние по умолчанию : Включено для приложений, ориентированных на Android 14 (уровень API 34) или выше.

При включении этой функции приложения, ориентированные на Android 14 (уровень API 34) и выше, которые запускают службу переднего плана, используя устаревший тип FOREGROUND_SERVICE_TYPE_NONE приводят к исключению.

Чтобы узнать больше об этом изменении, см. страницу с описанием изменений в типах служб переднего плана .

FGS_TYPE_PERMISSION_CHANGE_ID

Идентификатор изменения: 254662522
Состояние по умолчанию : Включено для приложений, ориентированных на Android 14 (уровень API 34) или выше.

При включении этой функции приложения, ориентированные на Android 14 (уровень API 34) и выше, которые запускают службу переднего плана без необходимых разрешений, связанных с типом этой службы переднего плана, приводят к исключению SecurityException .

Чтобы узнать больше об этом изменении, см. страницу с описанием изменений в типах служб переднего плана .

FORCE_DISABLE_HEVC_SUPPORT

Идентификатор изменения: 174227820
Состояние по умолчанию : Отключено для всех приложений.

Принудительное отключение поддержки HEVC для приложений. Приложения должны указывать поддерживаемые ими возможности воспроизведения мультимедиа в своем манифесте, но этот флаг можно использовать для принудительного отключения поддержки HEVC, что приводит к принудительному перекодированию при доступе к медиафайлам, закодированным в HEVC. Установка этого флага переопределяет любые настройки ОС по умолчанию для приложений. По умолчанию он отключен, то есть приоритет имеют настройки ОС по умолчанию. Если включены и этот флаг, и FORCE_ENABLE_HEVC_SUPPORT , ОС игнорирует оба флага.

FORCE_ENABLE_HEVC_SUPPORT

Идентификатор изменения: 174228127
Состояние по умолчанию : Отключено для всех приложений.

Принудительное включение поддержки HEVC для приложений. Приложения должны указывать поддерживаемые ими возможности воспроизведения мультимедиа в своем манифесте, но этот флаг можно использовать для принудительного включения поддержки HEVC, что позволяет избежать перекодирования при доступе к медиафайлам, закодированным в HEVC. Установка этого флага переопределяет любые настройки ОС по умолчанию для приложений. По умолчанию он отключен, то есть приоритет имеют настройки ОС по умолчанию. Если включены и этот флаг, и FORCE_DISABLE_HEVC_SUPPORT , ОС игнорирует оба флага.

FORCE_NON_RESIZE_APP

Идентификатор изменения: 181146395
Состояние по умолчанию : Отключено для всех приложений.

Устанавливает для пакетов, к которым применяется, запрет изменения размера.

FORCE_RESIZE_APP

Идентификатор изменения: 174042936
Состояние по умолчанию : Отключено для всех приложений.

Принудительно делает изменяемые размеры пакетов, к которым применяется это свойство. Мы разрешаем изменение размера только в полноэкранном оконном режиме, но не принуждаем приложение к переходу в многооконный режим с возможностью изменения размера.

GWP_ASAN

Идентификатор изменения: 145634846
Состояние по умолчанию : Отключено для всех приложений.

Обеспечивает обнаружение ошибок в собственной памяти приложений с помощью выборочного анализа.

Чтобы узнать больше об использовании GWP-ASan, ознакомьтесь с руководством по GWP-ASan .

IMPLICIT_INTENTS_ONLY_MATCH_EXPORTED_COMPONENTS

Идентификатор изменения: 229362273
Состояние по умолчанию : Включено для приложений, ориентированных на Android 14 (уровень API 34) или выше.

Для приложений, ориентированных на Android 14 (уровень API 34) и выше, компоненты необходимо экспортировать, чтобы вызывать их через неявные интенты. Если компонент не экспортирован и не вызван, он удаляется из списка получателей. Это относится, в частности, к активностям и широковещательным сообщениям.

Чтобы узнать больше об этом изменении, см. раздел на странице изменений поведения Android 14, посвященный ограничениям для неявных и ожидающих интентов .

Идентификатор изменения: 266201607
Состояние по умолчанию : Включено для приложений, ориентированных на Android 14 (уровень API 34) или выше.

Для приложений, ориентированных на Android 14 (уровень API 34) и выше, необходимо запрашивать у пользователя согласие перед каждым сеансом захвата изображения MediaProjection .

Чтобы узнать больше об этом изменении, см. раздел на странице изменений в поведении Android 14, где описывается необходимость получения согласия пользователя для каждой сессии захвата MediaProjection .

NATIVE_HEAP_ZERO_INIT

Идентификатор изменения: 178038272
Состояние по умолчанию : Отключено для всех приложений.

Включить автоматическую инициализацию нулями выделенной памяти в собственной куче.

NATIVE_MEMTAG_ASYNC

Идентификатор изменения: 145772972
Состояние по умолчанию : Отключено для всех приложений.

Включить асинхронную (ASYNC) проверку тегов памяти в этом процессе. Этот флаг влияет только на оборудование, поддерживающее расширение ARM Memory Tagging Extension (MTE).

NATIVE_MEMTAG_SYNC

Идентификатор изменения: 177438394
Состояние по умолчанию : Отключено для всех приложений.

Включает синхронную (SYNC) проверку тегов памяти в этом процессе. Этот флаг влияет только на оборудование, поддерживающее расширение ARM Memory Tagging Extension (MTE). Если включены и NATIVE_MEMTAG_ASYNC , и этот параметр, приоритет имеет этот параметр, и MTE включается в синхронном режиме.

OVERRIDE_ANY_ORIENTATION

Идентификатор изменения: 265464455
Состояние по умолчанию : Отключено для всех приложений.

При включении этой функции можно применять следующие параметры ориентации независимо от ориентации, запрошенной действием:

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

Идентификатор изменения: 191514214
Состояние по умолчанию : Отключено для всех приложений.

При включении это изменение заставляет применяемые пакеты игнорировать текущее значение android:resizeableActivity , а также целевой SDK, равный или ниже M, и считать активность неизменяемой по размеру. В этом случае значение поворота камеры и обрезки зависит только от необходимой компенсации с учетом текущего поворота экрана.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

Идентификатор изменения: 189229956
Состояние по умолчанию : Отключено для всех приложений.

При включении это изменение заставляет применяемые к нему пакеты переопределять поведение поворота и обрезки камеры по умолчанию и всегда возвращать CaptureRequest.SCALER_ROTATE_AND_CROP_NONE .

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

Идентификатор изменения: 266124927
Состояние по умолчанию : Отключено для всех приложений.

Включает параметр SCREEN_ORIENTATION_REVERSE_LANDSCAPE для приложения, к которому он применяется. Если OVERRIDE_ANY_ORIENTATION также не включен, SCREEN_ORIENTATION_REVERSE_LANDSCAPE используется только тогда, когда в действии указана альбомная ориентация. Включение этого изменения поможет вам протестировать поведение вашего приложения на предмет различий между устройствами, где альбомная ориентация соответствует Surface.ROTATION_90 , и устройствами, где она соответствует Surface.ROTATION_270 .

OVERRIDE_MIN_ASPECT_RATIO

Идентификатор изменения: 174042980
Состояние по умолчанию : Отключено для всех приложений.

Это изменение является своего рода «привратником» для всех изменений, которые принудительно устанавливают заданное минимальное соотношение сторон. Включение этого изменения позволяет применять следующие минимальные соотношения сторон:

Если это изменение включено для пакета приложения, минимальное соотношение сторон, указанное в манифесте приложения, заменяется наибольшим доступным соотношением сторон, если только значение в манифесте приложения не выше.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

Идентификатор изменения: 218959984
Состояние по умолчанию : Отключено для всех приложений.

При включении этой функции она отменяет ограничение минимального соотношения сторон в портретном полноэкранном режиме, чтобы использовать все доступное пространство экрана.

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 .

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

Идентификатор изменения: 203647190
Состояние по умолчанию : Включено для всех приложений.

Если OVERRIDE_MIN_ASPECT_RATIO также включен, это изменение ограничивает любые другие изменения, которые принудительно устанавливают минимальное соотношение сторон активности на определенное значение — например, OVERRIDE_MIN_ASPECT_RATIO_LARGE и OVERRIDE_MIN_ASPECT_RATIO_MEDIUM — только для активностей, которые также имеют портретную ориентацию.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

Идентификатор изменения: 236283604
Состояние по умолчанию : Отключено для всех приложений.

При включении это изменение исключает пакеты, к которым оно применяется, из списка устройств, на которые не распространяются ограничения по ориентации, устанавливаемые производителями устройств.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

Идентификатор изменения: 265451093
Состояние по умолчанию : Отключено для всех приложений.

Включает параметр SCREEN_ORIENTATION_NOSENSOR для приложения, к которому он применяется. Если OVERRIDE_ANY_ORIENTATION также не включен, SCREEN_ORIENTATION_NOSENSOR используется только в том случае, если в описании активности не указана другая фиксированная ориентация.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

Идентификатор изменения: 265452344
Состояние по умолчанию : Отключено для всех приложений.

Включает параметр SCREEN_ORIENTATION_PORTRAIT для приложения, к которому он применяется. Если OVERRIDE_ANY_ORIENTATION также не включен, SCREEN_ORIENTATION_PORTRAIT используется только в том случае, если в описании активности не указана другая фиксированная ориентация.

RATE_LIMIT_TOASTS

Идентификатор изменения: 174840628
Состояние по умолчанию : Это изменение нельзя переключить. Оно регистрируется только системой совместимости.

Включает ограничение количества вызовов Toast.show() , чтобы предотвратить перегрузку пользователя слишком большим количеством всплывающих уведомлений за ограниченное время. Любая попытка показать больше уведомлений, чем разрешено за определенный промежуток времени, приводит к удалению уведомления.

REJECT_NEGATIVE_NETWORK_ESTIMATES

Идентификатор изменения: 253665015
Состояние по умолчанию : Включено для приложений, ориентированных на Android 14 (уровень API 34) или выше.

При включении этой опции требуется, чтобы расчетное количество сетевых байтов было неотрицательным.

REQUIRE_NETWORK_CONSTRAINT_FOR_NETWORK_JOB_WORK_ITEMS

Идентификатор изменения: 241104082
Состояние по умолчанию : Включено для приложений, ориентированных на Android 14 (уровень API 34) или выше.

Для приложений, ориентированных на Android 14 (уровень API 34) и выше, требуется указать сетевое ограничение в задании хостинга, если включенный JobWorkItem указывает на использование сети.

REQUIRE_NETWORK_PERMISSIONS_FOR_CONNECTIVITY_JOBS

Идентификатор изменения: 271850009
Состояние по умолчанию : Включено для приложений, ориентированных на Android 14 (уровень API 34) или выше.

Для приложений, ориентированных на Android 14 (уровень API 34) и выше, требуется указывать разрешения INTERNET и ACCESS_NETWORK_STATE при планировании задания с ограничением подключения.

THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION

Идентификатор изменения: 255371817
Состояние по умолчанию : Включено для приложений, ориентированных на Android 14 (уровень API 34) или выше.

Для приложений, ориентированных на Android 14 (уровень API 34) и выше, система выдает исключение, если приложение некорректно реализует все необходимые API для передачи данных при указании инициированного пользователем задания на передачу данных.

Чтобы узнать больше об этом изменении, см. страницу с описанием того, как перевести службы переднего плана на задачи передачи данных, инициируемые пользователем .

USE_EXPERIMENTAL_COMPONENT_ALIAS

Идентификатор изменения: 196254758
Состояние по умолчанию : Отключено для всех приложений.

При включении этой функции система позволяет пакету "android" использовать псевдонимы компонентов.