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

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

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

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

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

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

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

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

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

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

CAMERA_MIC_INDICATORS_NOT_PRESENT

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

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

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

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

При включении параметра isSessionConfigurationSupported также проверяется совместимость параметров сессии, если они поддерживаются HAL.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

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

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

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

DEPRECATE_UI_FONT

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

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

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

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% вертикального и горизонтального разрешения реального дисплея.

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

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

При включении этой функции при использовании Arrays.asList(...).toArray() тип компонента результирующего массива теперь равен Object , а не типу элементов базового массива. Поэтому следующий код вызывает исключение ClassCastException :

String[] elements = (String[]) Arrays.asList("one", "two").toArray();

В этом случае, чтобы сохранить тип компонента String в результирующем массиве, можно использовать Collection.toArray(Object[]) :

String[] elements = Arrays.asList("two", "one").toArray(new String[0]);

Чтобы узнать больше об этом изменении, см. раздел об изменениях в поведении Android 15, посвященный изменениям API OpenJDK .

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

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

При включении этой функции, чтобы предотвратить проблемы совместимости существующих приложений с использованием метода ClientTransaction#getActivityToken() вне SDK, разрешайте включение только LaunchActivityItem .

ENABLE_MATCH_LOCAL_NETWORK

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

При включении этой функции приложения по умолчанию получают сетевые обратные вызовы из локальных сетей. Приложениям, ориентированным на Android 14 (уровень API 34) или ниже, по-прежнему необходимо добавить NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK в NetworkCapabilities объекта NetworkRequest , чтобы получать ConnectivityManager.NetworkCallback из локальных сетей.

ENABLE_STRICT_FORMATTER_VALIDATION

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

При включении этой функции проверка индекса аргумента, флагов, ширины и точности становится более строгой при использовании API-функций String.format() и Formatter.format() .

Чтобы узнать больше об этом изменении, см. раздел об изменениях в поведении Android 15, посвященный изменениям API OpenJDK .

ENFORCE_EDGE_TO_EDGE

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

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

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

ENFORCE_STRICT_QUERY_BUILDER

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

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

FGS_BOOT_COMPLETED_RESTRICTIONS

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

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

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

FGS_INTRODUCE_TIME_LIMITS

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

При включении этой функции для некоторых типов служб переднего плана устанавливается ограничение по времени. Если служба переднего плана проблемного типа не будет остановлена ​​в течение выделенного времени, она получит обратный вызов с помощью Service.onTimeout(int, int) и должна будет быть остановлена ​​в течение нескольких секунд. Если приложение этого не сделает, будет объявлено об ошибке ANR (Anti-Registered Service).

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

FGS_SAW_RESTRICTIONS

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

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

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

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 .

IS_DEVICE_OWNER_USER_AWARE

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

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

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

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

После включения этой функции приложения больше не могут изменять глобальное состояние или политику режима «Не беспокоить» (DND) на устройстве (ни путем изменения пользовательских настроек, ни путем отключения режима DND). Вместо этого приложения должны добавить правило AutomaticZenRule , которое система объединяет в глобальную политику с существующей схемой «побеждает наиболее ограничительная политика».

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

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_ANY_ORIENTATION_TO_USER

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

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

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

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

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

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

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

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

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

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

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

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

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

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

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

При включении этой опции пользователям будет предоставлен выбор: захватывать одно приложение или весь экран при запуске сеанса MediaProjection , что отменяет использование MediaProjectionConfig#createConfigForDefaultDisplay .

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_LAYOUT_IN_DISPLAY_CUTOUT_MODE

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

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

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_ONLY_FOR_CAMERA

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

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

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 используется только в том случае, если в описании активности не указана другая фиксированная ориентация.

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

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

При включении этой функции разрешается анализ заголовков Content-Disposition, соответствующих RFC 6266. В частности, это позволяет анализировать значения filename* , которые могут использовать другую кодировку символов.

RATE_LIMIT_TOASTS

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

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

STREAM_INT_DIFFERS_FROM_NEXT_INT

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

При включении этой функции методы Random.ints() теперь возвращают другую последовательность чисел, чем методы Random.nextInt() . Это следует из изменений, описанных в https://bugs.openjdk.org/browse/JDK-8301574 .

Чтобы узнать больше об этом изменении, см. раздел об изменениях в поведении Android 15, посвященный изменениям API OpenJDK .

USE_EXPERIMENTAL_COMPONENT_ALIAS

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

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

USE_NEW_ISO_LOCALE_CODES

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

При включении этой функции коды языков для иврита, идиша и индонезийского больше не преобразуются в их устаревшие формы (иврит: iw , идиш: ji и индонезийский: in ).

Чтобы узнать больше об этом изменении, см. раздел об изменениях в поведении Android 15, посвященный изменениям API OpenJDK .