Изменения в системе совместимости (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.

Чтобы узнать больше об этом изменении, см. разделы на странице изменений поведения 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) на устройстве (путем изменения пользовательских настроек или отключения режима «Не беспокоить»). Вместо этого приложения должны внести AutomaticZenRule , которое система объединяет в глобальную политику с существующей схемой наиболее ограничительной политики.

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

NATIVE_HEAP_ZERO_INIT

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

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

NATIVE_MEMTAG_ASYNC

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

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

NATIVE_MEMTAG_SYNC

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

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

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 .