ALWAYS_SANDBOX_DISPLAY_APIS Идентификатор изменения: 185004937 Состояние по умолчанию : отключено для всех приложений.
Если этот параметр включен, к пакету применяется изолированная программная среда Display API независимо от оконного режима. 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 Идентификатор изменения: 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 Идентификатор изменения: 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 % используется, если включены и 80 %, и 70 % ( DOWNSCALE_80 и DOWNSCALE_70 ). |
DOWNSCALE_30 Идентификатор изменения: 189970040 Состояние по умолчанию : отключено для всех приложений.
Если также включен DOWNSCALED , включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 30% вертикального и горизонтального разрешения реального дисплея. |
DOWNSCALE_35 Идентификатор изменения: 189969749 Состояние по умолчанию : отключено для всех приложений.
Если также включен DOWNSCALED , включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 35% вертикального и горизонтального разрешения реального дисплея. |
DOWNSCALE_40 Идентификатор изменения: 189970038 Состояние по умолчанию : отключено для всех приложений.
Если также включен DOWNSCALED , включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 40% вертикального и горизонтального разрешения реального дисплея. |
DOWNSCALE_45 Идентификатор изменения: 189969782 Состояние по умолчанию : отключено для всех приложений.
Если DOWNSCALED также включен, включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 45 % вертикального и горизонтального разрешения реального дисплея. |
DOWNSCALE_50 Идентификатор изменения: 176926741 Состояние по умолчанию : отключено для всех приложений.
Если также включен DOWNSCALED , включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 50% вертикального и горизонтального разрешения реального дисплея. |
DOWNSCALE_55 Идентификатор изменения: 189970036 Состояние по умолчанию : отключено для всех приложений.
Если также включен DOWNSCALED , включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 55% вертикального и горизонтального разрешения реального дисплея. |
DOWNSCALE_60 Идентификатор изменения: 176926771 Состояние по умолчанию : отключено для всех приложений.
Если также включен DOWNSCALED , включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 60% вертикального и горизонтального разрешения реального дисплея. |
DOWNSCALE_65 Идентификатор изменения: 189969744 Состояние по умолчанию : отключено для всех приложений.
Если также включен DOWNSCALED , включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 65% вертикального и горизонтального разрешения реального дисплея. |
DOWNSCALE_70 Идентификатор изменения: 176926829 Состояние по умолчанию : отключено для всех приложений.
Если также включен DOWNSCALED , включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 70% вертикального и горизонтального разрешения реального дисплея. |
DOWNSCALE_75 Идентификатор изменения: 189969779 Состояние по умолчанию : отключено для всех приложений.
Если также включен DOWNSCALED , включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 75% вертикального и горизонтального разрешения реального дисплея. |
DOWNSCALE_80 Идентификатор изменения: 176926753 Состояние по умолчанию : отключено для всех приложений.
Если DOWNSCALED также включен, включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 80 % вертикального и горизонтального разрешения реального дисплея. |
DOWNSCALE_85 Идентификатор изменения: 189969734 Состояние по умолчанию : отключено для всех приложений.
Если DOWNSCALED также включен, включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 85 % вертикального и горизонтального разрешения реального дисплея. |
DOWNSCALE_90 Идентификатор изменения: 182811243 Состояние по умолчанию : отключено для всех приложений.
Если также включен DOWNSCALED , включение этого изменения для пакета заставляет приложение предполагать, что оно работает на дисплее с 90% вертикального и горизонтального разрешения реального дисплея. |
DO_NOT_DOWNSCALE_TO_1080P_ON_TV Идентификатор изменения: 157629738 Состояние по умолчанию : включено для приложений, ориентированных на Android 12 (уровень API 31) или выше.
Ожидается, что приложения Android TV, ориентированные на Android 12 (уровень API 31) и выше, будут обрабатывать окна любого размера, включая размеры окон более 1080p. Приложения, предназначенные для более ранних версий Android, не ожидают получения Windows с разрешением выше 1080p, поэтому при необходимости их Windows масштабируется до 1080p. |
DROP_CLOSE_SYSTEM_DIALOGS Идентификатор изменения: 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 Идентификатор изменения: 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 Идентификатор изменения: 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. Установка этого флага отменяет любые настройки по умолчанию для приложений на уровне ОС. По умолчанию он отключен, а это означает, что настройки ОС по умолчанию имеют приоритет. Если включены оба флага и FORCE_ENABLE_HEVC_SUPPORT , ОС игнорирует оба флага. |
FORCE_ENABLE_HEVC_SUPPORT Идентификатор изменения: 174228127 Состояние по умолчанию : отключено для всех приложений.
Принудительно включить поддержку мультимедийных возможностей HEVC. Приложения должны объявлять поддерживаемые мультимедийные возможности в своем манифесте, но этот флаг можно использовать, чтобы заставить приложение поддерживать HEVC, что позволяет избежать перекодирования при доступе к мультимедиа, закодированному в HEVC. Установка этого флага отменяет любые настройки по умолчанию на уровне ОС для приложений. По умолчанию он отключен, а это означает, что настройки ОС по умолчанию будут иметь приоритет. Если оба флага и FORCE_DISABLE_HEVC_SUPPORT включены, ОС игнорирует оба флага. |
FORCE_NON_RESIZE_APP Идентификатор изменения: 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 Идентификатор изменения: 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 Идентификатор изменения: 178038272 Состояние по умолчанию : отключено для всех приложений.
Включите автоматическую инициализацию нулями выделений собственной кучи. |
NATIVE_MEMTAG_ASYNC Идентификатор изменения: 135772972 Состояние по умолчанию : отключено для всех приложений.
Включите в этом процессе асинхронную (ASYNC) проверку тегов памяти. Этот флаг влияет только на оборудование, поддерживающее расширение маркировки памяти ARM (MTE). |
NATIVE_MEMTAG_SYNC Идентификатор изменения: 177438394 Состояние по умолчанию : отключено для всех приложений.
Включает синхронную проверку тегов памяти (SYNC) в этом процессе. Этот флаг влияет только на оборудование, поддерживающее расширение маркировки памяти ARM (MTE). Если включены и NATIVE_MEMTAG_ASYNC , и этот параметр, этот параметр имеет приоритет, и MTE включается в режиме SYNC. |
NEVER_SANDBOX_DISPLAY_APIS Идентификатор изменения: 184838306 Состояние по умолчанию : отключено для всех приложений.
Если этот параметр включен, предотвращает применение изолированной программной среды Display API к почтовому ящику или активности SCM. API дисплея продолжат предоставлять границы DisplayArea. Чтобы узнать больше об этом изменении, см. раздел на странице изменений поведения Android 12, посвященный устаревшим методам отображения . |
NOTIFICATION_CANCELLATION_REASONS Идентификатор изменения: 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 Идентификатор изменения: 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 Идентификатор изменения: 182478738 Состояние по умолчанию : включено для приложений, ориентированных на Android 12 (уровень API 31) или выше.
Для приложений, предназначенных для Android 12 (уровень API 31) и выше, приложения должны иметь разрешение Manifest.permission.READ_PHONE_STATE для вызова TelephonyCallback.ActiveDataSubscriptionIdListener . |
REQUIRE_READ_PHONE_STATE_PERMISSION_FOR_CELL_INFO Идентификатор изменения: 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 Идентификатор изменения: 178111421 Состояние по умолчанию : включено для всех приложений.
Новый API пользовательских предпочтений для проверки доменов, отмеченных autoVerify=true в фильтрах намерений AndroidManifest.xml, еще не реализован в текущей предварительной версии платформы. На данный момент можно просмотреть новые изменения пользовательских настроек, включив этот ChangeId и используя adb shell pm set-app-links-user-selection и аналогичные команды. |
USE_SHORT_FGS_USAGE_INTERACTION_TIME Идентификатор изменения: 183972877 Состояние по умолчанию : включено для приложений, ориентированных на Android 12 (уровень API 31) или выше.
Для приложений, предназначенных для Android 12 (уровень API 31) и выше, определяет, использовать ли более короткий тайм-аут перед повышением резервного сегмента до ACTIVE , когда приложения запускают службу переднего плана. |