Cambios en el marco de compatibilidad (Android 15)

Figura 1: La pantalla Cambios de compatibilidad con apps para desarrolladores Las opciones muestran los cambios que puedes activar o desactivar.

En esta página, se describen los cambios que se pueden activar o desactivar y que forman parte del proceso en Android 15 (nivel de API 35). Usa esta lista junto con los las opciones para desarrolladores y los comandos de ADB probar y depurar tu app mientras te preparas para la compatibilidad y la orientación a Android 15.

A continuación, te mostramos algunas de las acciones que puedes realizar con las herramientas del marco de compatibilidad:

  • Probar los cambios orientados sin cambiar realmente la targetSdkVersion de la app. Puedes usar los botones de activación y desactivación para forzar cambios de comportamiento orientados específicos a fin de evaluar el impacto en tu app existente.
  • Enfocar tus pruebas solo a cambios específicos. En lugar de tener que abordar todos los cambios orientados a la vez, los botones de activación y desactivación te permiten inhabilitar todos los cambios orientados, excepto los que deseas probar.
  • Administrar los cambios que se pueden activar y desactivar mediante adb. Puedes usar comandos ADB para habilitar o inhabilitar los cambios que se pueden activar o desactivar en tu entorno de prueba automatizado.
  • Depurar más rápido con los ID de cambio estándar. Cada cambio que se puede activar y desactivar tiene un ID y un nombre únicos que puedes usar para depurar rápidamente la causa raíz en el resultado del registro.

Si quieres obtener más información sobre cómo usar las herramientas para cada uno de estos casos de uso, consulta Herramientas del marco de compatibilidad.

Cambios de comportamiento incluidos en el marco de compatibilidad

En la lista de esta sección, se describen los cambios que se pueden activar o desactivar y que se incluyen en el marco de compatibilidad para cambios relacionados con Android 15 y cambios que se pueden activar o desactivar que pueden ayudar con las pruebas generales de la app.

Puedes filtrar la lista de cambios por Estado predeterminado.

Cambios que se pueden activar o desactivar en el marco de compatibilidad de Android 15

CAMERA_MIC_INDICATORS_NOT_PRESENT

ID del cambio: 162547999
Estado predeterminado: Inhabilitado para todas las apps.

Indica que este dispositivo admite la cámara y el micrófono. indicadores. El valor es false si está presente CompatChanges#isChangeEnabled El método muestra true si el ID de cambio no está presente.

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

ID del cambio: 320741775
Estado predeterminado: Habilitado para apps orientadas a Android 15 (nivel de API 35) o versiones posteriores.

Cuando se habilita, isSessionConfigurationSupported también verifica la compatibilidad de los parámetros de sesión cuando lo admite la HAL.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

ID del cambio: 296478951
Estado predeterminado: Habilitado para apps orientadas a Android 15 (nivel de API 35) o versiones posteriores.

Cuando se habilita, el creador de un PendingIntent bloquea Inicios de actividades en segundo plano de forma predeterminada.

Para obtener más información sobre este cambio, consulta la sección en Android 15 página de cambios de comportamiento acerca de Lanzamientos seguros de actividades en segundo plano

DEPRECATE_UI_FONT

ID del cambio: 279646685
Estado predeterminado: Habilitado para apps orientadas a Android 15 (nivel de API 35) o versiones posteriores.

Cuando se habilita, el El atributo elegantTextHeight TextView se convierte en true de forma predeterminada cuando tu app se ejecuta en un dispositivo con Android 15 o versiones posteriores, y reemplaza la fuente compacta que se usa de forma predeterminada por algunas secuencias de comandos que tienen métricas verticales grandes con una que es sea más legible.

Para obtener más información sobre este cambio, consulta la sección en Android 15 página de cambios de comportamiento acerca de El valor predeterminado del atributo eleganteTextHeight es verdadero.

DOWNSCALED

ID del cambio: 168419799
Estado predeterminado: Inhabilitado para todas las apps.

Este cambio es el guardián de todo el escalamiento descendente de búfer por app cambios. Habilitar este cambio permite que los siguientes factores de escala aplicar:

Cuando se habilita este cambio para un paquete de app, esta se fuerza al factor de escala habilitado más alto. Por ejemplo, el 80% es usar si tanto el 80% como el 70% (DOWNSCALE_80 y DOWNSCALE_70) están habilitadas. Cuando este cambio y DOWNSCALED_INVERSE son habilitado, DOWNSCALED_INVERSE tiene prioridad y el factor de escala se aplica inversamente.

DOWNSCALED_INVERSE

ID del cambio: 273564678
Estado predeterminado: Inhabilitado para todas las apps.

Este cambio es el guardián de todos los búferes por app inversos los cambios de reducción de escala. Si habilitas este cambio, podrás hacer lo siguiente: factores de escala que se aplicarán de forma inversa (es decir, la resolución se en su lugar):

Cuando se habilita este cambio para un paquete de app, esta se fuerza al factor de escala habilitado más bajo. Por ejemplo, el 80% es usar si tanto el 80% como el 70% (DOWNSCALE_80 y DOWNSCALE_70) están habilitadas. porque, cuando se aplica inversamente, un factor de escala del 80% es igual al 125% inferior al escalamiento del 142.86% que se aplica cuando se invierte aplicando un factor de escala del 70%. Cuando este cambio y DOWNSCALED son habilitado, DOWNSCALED_INVERSE tiene prioridad y el factor de escala se aplica inversamente.

DOWNSCALE_30

ID del cambio: 189970040
Estado predeterminado: Inhabilitado para todas las apps.

Si DOWNSCALED también es habilitado, habilitar este cambio para un paquete fuerza a la app a suponer se ejecuta en una pantalla con el 30% de la pantalla de la pantalla real. Si DOWNSCALED_INVERSE es habilitado, habilitar este cambio para un paquete fuerza a la app a supón que se muestra en una pantalla con un 333.33% de la vertical y de resolución horizontal de la pantalla real.

DOWNSCALE_35

ID del cambio: 189969749
Estado predeterminado: Inhabilitado para todas las apps.

Si DOWNSCALED también es habilitado, habilitar este cambio para un paquete fuerza a la app a suponer se ejecuta en una pantalla con el 35% de la pantalla de la pantalla real. Si DOWNSCALED_INVERSE es habilitado, habilitar este cambio para un paquete fuerza a la app a supón que se está ejecutando en una pantalla con un 285.71% de la vertical y de resolución horizontal de la pantalla real.

DOWNSCALE_40

ID del cambio: 189970038
Estado predeterminado: Inhabilitado para todas las apps.

Si DOWNSCALED también es habilitado, habilitar este cambio para un paquete fuerza a la app a suponer se ejecuta en una pantalla con el 40% de la pantalla de la pantalla real. Si DOWNSCALED_INVERSE es habilitado, habilitar este cambio para un paquete fuerza a la app a supón que se está ejecutando en una pantalla con el 250% de la vertical y de resolución horizontal de la pantalla real.

DOWNSCALE_45

ID del cambio: 189969782
Estado predeterminado: Inhabilitado para todas las apps.

Si DOWNSCALED también es habilitado, habilitar este cambio para un paquete fuerza a la app a suponer se ejecuta en una pantalla con el 45% de la pantalla de la pantalla real. Si DOWNSCALED_INVERSE es habilitado, habilitar este cambio para un paquete fuerza a la app a imagina que se está ejecutando en una pantalla con un 222.22% de la vertical y de resolución horizontal de la pantalla real.

DOWNSCALE_50

ID del cambio: 176926741
Estado predeterminado: Inhabilitado para todas las apps.

Si DOWNSCALED también es habilitado, habilitar este cambio para un paquete fuerza a la app a suponer se ejecuta en una pantalla con el 50% de la orientación vertical y horizontal de la pantalla real. Si DOWNSCALED_INVERSE es habilitado, habilitar este cambio para un paquete fuerza a la app a supón que se está ejecutando en una pantalla con el 200% de la vertical y de resolución horizontal de la pantalla real.

DOWNSCALE_55

ID del cambio: 189970036
Estado predeterminado: Inhabilitado para todas las apps.

Si DOWNSCALED también es habilitado, habilitar este cambio para un paquete fuerza a la app a suponer se ejecuta en una pantalla con el 55% de la pantalla de la pantalla real. Si DOWNSCALED_INVERSE es habilitado, habilitar este cambio para un paquete fuerza a la app a supón que se está ejecutando en una pantalla con un 181.82% de la vertical y de resolución horizontal de la pantalla real.

DOWNSCALE_60

ID del cambio: 176926771
Estado predeterminado: Inhabilitado para todas las apps.

Si DOWNSCALED también es habilitado, habilitar este cambio para un paquete fuerza a la app a suponer se ejecuta en una pantalla con el 60% de la pantalla de la pantalla real. Si DOWNSCALED_INVERSE es habilitado, habilitar este cambio para un paquete fuerza a la app a supón que se está ejecutando en una pantalla con un 166.67% de la vertical y de resolución horizontal de la pantalla real.

DOWNSCALE_65

ID del cambio: 189969744
Estado predeterminado: Inhabilitado para todas las apps.

Si DOWNSCALED también es habilitado, habilitar este cambio para un paquete fuerza a la app a suponer se ejecuta en una pantalla con el 65% de la pantalla de la pantalla real. Si DOWNSCALED_INVERSE es habilitado, habilitar este cambio para un paquete fuerza a la app a supón que se está ejecutando en una pantalla con un 153.85% de la vertical y de resolución horizontal de la pantalla real.

DOWNSCALE_70

ID del cambio: 176926829
Estado predeterminado: Inhabilitado para todas las apps.

Si DOWNSCALED también es habilitado, habilitar este cambio para un paquete fuerza a la app a suponer se ejecuta en una pantalla con el 70% de la pantalla de la pantalla real. Si DOWNSCALED_INVERSE es habilitado, habilitar este cambio para un paquete fuerza a la app a imagina que se está ejecutando en una pantalla con un 142.86% de la vertical y de resolución horizontal de la pantalla real.

DOWNSCALE_75

ID del cambio: 189969779
Estado predeterminado: Inhabilitado para todas las apps.

Si DOWNSCALED también es habilitado, habilitar este cambio para un paquete fuerza a la app a suponer se ejecuta en una pantalla con el 75% de la pantalla de la pantalla real. Si DOWNSCALED_INVERSE es habilitado, habilitar este cambio para un paquete fuerza a la app a imagina que se está ejecutando en una pantalla con un 133.33% de la vertical y de resolución horizontal de la pantalla real.

DOWNSCALE_80

ID del cambio: 176926753
Estado predeterminado: Inhabilitado para todas las apps.

Si DOWNSCALED también es habilitado, habilitar este cambio para un paquete fuerza a la app a suponer se ejecuta en una pantalla con el 80% de la pantalla de la pantalla real. Si DOWNSCALED_INVERSE es habilitado, habilitar este cambio para un paquete fuerza a la app a supón que se está ejecutando en una pantalla con el 125% de la vertical y de resolución horizontal de la pantalla real.

DOWNSCALE_85

ID del cambio: 189969734
Estado predeterminado: Inhabilitado para todas las apps.

Si DOWNSCALED también es habilitado, habilitar este cambio para un paquete fuerza a la app a suponer se ejecuta en una pantalla con el 85% de la pantalla de la pantalla real. Si DOWNSCALED_INVERSE es habilitado, habilitar este cambio para un paquete fuerza a la app a supón que se está ejecutando en una pantalla con un 117.65% de la vertical y de resolución horizontal de la pantalla real.

DOWNSCALE_90

ID del cambio: 182811243
Estado predeterminado: Inhabilitado para todas las apps.

Si DOWNSCALED también es habilitado, habilitar este cambio para un paquete fuerza a la app a suponer se ejecuta en una pantalla con el 90% de la pantalla de la pantalla real. Si DOWNSCALED_INVERSE es habilitado, habilitar este cambio para un paquete fuerza a la app a supón que se está ejecutando en una pantalla con un 111.11% de la vertical y de resolución horizontal de la pantalla real.

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

ID del cambio: 202956589
Estado predeterminado: Habilitado para apps orientadas a Android 15 (nivel de API 35) o versiones posteriores.

Si se habilita esta opción, cuando se use Arrays.asList(...).toArray(), el tipo de componente de la El array resultante ahora es Object: no el tipo de elementos del array subyacente. Entonces, el siguiente código arroja un ClassCastException:

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

En este caso, para preservar String como el componente escribir el array resultante, podrías usar Collection.toArray(Object[]) en su lugar:

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

Para obtener más información sobre este cambio, consulta la sección en Android 15 página de cambios de comportamiento acerca de Cambios en la API de OpenJDK.

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

ID del cambio: 324203798
Estado predeterminado: Habilitado para apps orientadas a Android 15 (nivel de API 35) o versiones posteriores.

Cuando se habilita, para evitar que las apps existentes tengan problemas de compatibilidad con los usos que no pertenecen al SDK de ClientTransaction#getActivityToken(): solo permitir la agrupación LaunchActivityItem

ENABLE_MATCH_LOCAL_NETWORK

ID del cambio: 319212206
Estado predeterminado: Habilitado para apps orientadas a Android 15 (nivel de API 35) o versiones posteriores.

Cuando se habilita, las apps reciben devoluciones de llamada de redes locales de forma predeterminada. Las apps orientadas a Android 14 (nivel de API 34) o versiones anteriores aún deben agregar NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK al NetworkCapabilities de NetworkRequest para recibir ConnectivityManager.NetworkCallback de las redes locales.

ENABLE_STRICT_FORMATTER_VALIDATION

ID del cambio: 270674727
Estado predeterminado: Habilitado para apps orientadas a Android 15 (nivel de API 35) o versiones posteriores.

Cuando se habilita, la validación del índice, las marcas, el ancho y la precisión de los argumentos ahora es más estricta cuando se usa el APIs de String.format() y Formatter.format().

Para obtener más información sobre este cambio, consulta la sección en Android 15 página de cambios de comportamiento acerca de Cambios en la API de OpenJDK.

ENFORCE_EDGE_TO_EDGE

ID del cambio: 309578419
Estado predeterminado: Habilitado para apps orientadas a Android 15 (nivel de API 35) o versiones posteriores.

Cuando se habilita, las apps se muestran de borde a borde de forma predeterminada en los dispositivos con Android 15 o versiones posteriores.

Para obtener más información sobre este cambio, consulta la sección en Android 15 página de cambios de comportamiento acerca de Aplicación de borde a borde

ENFORCE_STRICT_QUERY_BUILDER

ID del cambio: 143231523
Estado predeterminado: Inhabilitado para todas las apps.

Cuando se habilita, SQLiteQueryBuilder verifica todas las selecciones de consultas de CalendarProvider2 con argumentos maliciosos.

FGS_BOOT_COMPLETED_RESTRICTIONS

ID del cambio: 296558535
Estado predeterminado: Habilitado para apps orientadas a Android 15 (nivel de API 35) o versiones posteriores.

Si se habilita esta opción, inhabilita los inicios en segundo plano del servicio en primer plano desde BOOT_COMPLETED realiza transmisiones para todos los tipos, excepto:

Para obtener más información sobre este cambio, consulta la sección en Android 15 página de cambios de comportamiento acerca de Restricciones en receptores de emisión BOOT_COMPLETED Iniciar servicios en primer plano

FGS_INTRODUCE_TIME_LIMITS

ID del cambio: 317799821
Estado predeterminado: Habilitado para apps orientadas a Android 15 (nivel de API 35) o versiones posteriores.

Cuando se habilita, los servicios en primer plano de ciertos tipos tienen un límite de tiempo. Si el servicio en primer plano del tipo infractor no se detiene dentro del límite de tiempo asignado, recibirá una devolución de llamada con Service.onTimeout(int, int) y deberá detenerse en unos segundos. Si una app no lo hace, se declarará un error de ANR.

Para obtener más información sobre este cambio, consulta las secciones página de 15 cambios de comportamiento sobre el comportamiento del tiempo de espera de la sincronización de datos y procesamiento de contenido multimedia tipos de servicios en primer plano.

FGS_SAW_RESTRICTIONS

ID del cambio: 319471980
Estado predeterminado: Habilitado para apps orientadas a Android 15 (nivel de API 35) o versiones posteriores.

Si se habilita esta opción, inhabilita los inicios del servicio en primer plano en segundo plano en la ventana de alerta del sistema para todos los tipos, a menos que ya tenga una ventana de superposición del sistema.

Para obtener más información sobre este cambio, consulta la sección en Android 15 página de cambios de comportamiento acerca de Restricciones para iniciar servicios en primer plano mientras una app tiene el permiso SYSTEM_ALERT_WINDOW.

FORCE_DISABLE_HEVC_SUPPORT

ID del cambio: 174227820
Estado predeterminado: Inhabilitado para todas las apps.

Fuerza la inhabilitación de una app para que no sea compatible con la capacidad de contenido multimedia HEVC. Las apps deben declarar las capacidades de contenido multimedia compatibles en sus pero esta marca se puede usar para forzar a una app Admiten HEVC, por lo que se fuerza la transcodificación cuando se accede a contenido multimedia. codificada en HEVC. La configuración de esta marca anula cualquier valor predeterminado del nivel del SO. para aplicaciones. Está inhabilitado de forma predeterminada, lo que significa que el SO predeterminado tienen prioridad. Si tanto esta marca como FORCE_ENABLE_HEVC_SUPPORT están habilitados, el SO ignora ambas marcas.

FORCE_ENABLE_HEVC_SUPPORT

ID del cambio: 174228127
Estado predeterminado: Inhabilitado para todas las apps.

Fuerza la habilitación de una app para que admita las apps con capacidad de contenido multimedia HEVC Deben declarar las capacidades multimedia admitidas en su manifiesto. pero esta marca se puede usar para forzar que una app admita el HEVC. y evitar la transcodificación mientras se accede a contenido multimedia codificado en HEVC. Parámetro de configuración esta marca anula los valores predeterminados en el nivel del SO para apps. Está inhabilitada por default, lo que significa que los valores predeterminados del SO tendrán prioridad. Si ambos esta marca y FORCE_DISABLE_HEVC_SUPPORT están habilitados, el SO ignora ambas marcas.

FORCE_NON_RESIZE_APP

ID del cambio: 181146395
Estado predeterminado: Inhabilitado para todas las apps.

Fuerza los paquetes a los que se aplica de modo que no puedan cambiar el tamaño.

FORCE_RESIZE_APP

ID del cambio: 174042936
Estado predeterminado: Inhabilitado para todas las apps.

Fuerza los paquetes a los que se aplica de modo que puedan cambiar el tamaño. Solo permitir cambiar el tamaño en el modo de renderización en ventanas de pantalla completa, pero sin forzar la aplicación al modo multiventana de tamaño variable.

GWP_ASAN

ID del cambio: 145634846
Estado predeterminado: Inhabilitado para todas las apps.

Habilita la detección de errores en la memoria nativa de muestra en las apps.

Para obtener más información sobre el uso de GWP-ASan, consulta la guía de GWP-ASan.

IS_DEVICE_OWNER_USER_AWARE

ID del cambio: 307233716
Estado predeterminado: Habilitado para apps orientadas a Android 15 (nivel de API 35) o versiones posteriores.

Si se habilita, el método isDeviceOwnerApp(String) usará el usuario contenido dentro del contexto. En el caso de las apps orientadas a Android 14 (nivel de API 34) o versiones anteriores, se usará el usuario del proceso de llamada (Process.myUserHandle()).

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

ID del cambio: 308670109
Estado predeterminado: Habilitado para apps orientadas a Android 15 (nivel de API 35) o versiones posteriores.

Cuando se habilita, las apps ya no pueden cambiar el estado ni la política global de No interrumpir de un dispositivo (ya sea modificando la configuración del usuario o desactivando el modo DND). En cambio, las apps deben aportar una AutomaticZenRule: que el sistema combina en una política global con el esquema existente de políticas más restrictivas.

Para obtener más información sobre este cambio, consulta la sección en Android 15 página de cambios de comportamiento acerca de Cambios en el momento en que las apps pueden modificar el estado global del modo No interrumpir

NATIVE_HEAP_ZERO_INIT

ID del cambio: 178038272
Estado predeterminado: Inhabilitado para todas las apps.

Habilita la inicialización automática en cero de la memoria nativa del montón. asignaciones de recursos.

NATIVE_MEMTAG_ASYNC

ID del cambio: 145772972
Estado predeterminado: Inhabilitado para todas las apps.

Habilita la verificación de etiquetas de memoria asíncrona (ASYNC) en este proceso. Esta marca solo afecta el hardware que admite el etiquetado de memoria ARM. de extensión (MTE).

NATIVE_MEMTAG_SYNC

ID del cambio: 177438394
Estado predeterminado: Inhabilitado para todas las apps.

Habilita la verificación de etiquetas de memoria síncrona (SYNC) en este proceso. Esta marca solo afecta el hardware que admite el etiquetado de memoria ARM. de extensión (MTE). Si tanto NATIVE_MEMTAG_ASYNC como este están habilitadas, esta opción tiene prioridad y está habilitada la MTE en modo SYNC.

OVERRIDE_ANY_ORIENTATION

ID del cambio: 265464455
Estado predeterminado: Inhabilitado para todas las apps.

Cuando se habilita, este cambio permite la siguiente orientación anulaciones que se aplicarán independientemente de la orientación que solicite la actividad:

OVERRIDE_ANY_ORIENTATION_TO_USER

ID del cambio: 310816437
Estado predeterminado: Inhabilitado para todas las apps.

Cuando se habilita, habilita SCREEN_ORIENTATION_USER: que anula cualquier orientación que solicite la actividad. Fijas las apps de orientación se pueden anular a pantalla completa en pantallas grandes dispositivos con ignoreOrientationRequest habilitados con esto anulación.

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

ID del cambio: 314961188
Estado predeterminado: Inhabilitado para todas las apps.

Cuando se habilita, excluye los paquetes a los que se aplica la anulación del tratamiento de compatibilidad de la cámara en el modo de renderización en ventanas de formato libre para apps con orientación fija.

En el modo de renderización de ventanas de formato libre, el tratamiento de compatibilidad emula la ejecución en un dispositivo vertical aplicando formato letterbox a la ventana de la app y cambiando las características de la cámara a lo que las apps suelen esperar en un dispositivo vertical: rotación del sensor de 90 y 270 grados para las cámaras frontal y posterior, respectivamente, y establecer la rotación de la pantalla en 0.

Usa esta marca para inhabilitar el tratamiento de compatibilidad de las apps que no responden bien al tratamiento.

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

ID del cambio: 191514214
Estado predeterminado: Inhabilitado para todas las apps.

Cuando se habilita, este cambio fuerza los paquetes a los que se aplica ignorar el valor actual de android:resizeableActivity y un SDK de destino igual o inferior a Android 6.0 (nivel de API) 23) y considera que la actividad no puede cambiar de tamaño. En este caso, el de rotación y recorte de la cámara solo depende de la de compensación según la rotación actual de la pantalla.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

ID del cambio: 189229956
Estado predeterminado: Inhabilitado para todas las apps.

Cuando se habilita, este cambio fuerza los paquetes a los que se aplica anular el comportamiento predeterminado de rotación y recorte de la cámara, y siempre Se muestra CaptureRequest.SCALER_ROTATE_AND_CROP_NONE.

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

ID del cambio: 316897322
Estado predeterminado: Inhabilitado para todas las apps.

Cuando se habilita, garantiza que los usuarios tengan la opción de capturar una sola app o toda la pantalla cuando inician una sesión de MediaProjection, lo que anula el uso de MediaProjectionConfig#createConfigForDefaultDisplay

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

ID del cambio: 266124927
Estado predeterminado: Inhabilitado para todas las apps.

Habilita SCREEN_ORIENTATION_REVERSE_LANDSCAPE para la app a la que se aplica. Salvo que OVERRIDE_ANY_ORIENTATION también está habilitado, SCREEN_ORIENTATION_REVERSE_LANDSCAPE es Solo se usa cuando la actividad especifica la orientación horizontal. Habilitando este cambio puede ayudarte a probar el comportamiento de tu app para detectar diferencias entre dispositivos en los que la orientación horizontal corresponde Surface.ROTATION_90 y los dispositivos donde corresponde Surface.ROTATION_270

OVERRIDE_LAYOUT_IN_DISPLAY_CUTOUT_MODE

ID del cambio: 332679525
Estado predeterminado: Inhabilitado para todas las apps.

Cuando se habilita, anula el diseño en el comportamiento del modo de corte de pantalla. Esto solo se aplicará si no se aplica de manera forzosa de borde a borde.

OVERRIDE_MIN_ASPECT_RATIO

ID del cambio: 174042980
Estado predeterminado: Inhabilitado para todas las apps.

Este cambio es el guardián de todos los cambios que fuercen una relación de aspecto mínima dada. Si se habilita este cambio, se podrán aplicar las siguientes relaciones de aspecto mínimas:

Cuando se habilita este cambio para un paquete de aplicación, el aspecto mínimo proporción proporcionada en el manifiesto de la app se anula por la más grande habilitada relación de aspecto, a menos que el valor del manifiesto de la app sea superior.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

ID del cambio: 218959984
Estado predeterminado: Inhabilitado para todas las apps.

Cuando se habilita, anula la restricción de relación de aspecto mínima en pantalla completa vertical para usar todo el espacio de pantalla disponible.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

ID del cambio: 180326787
Estado predeterminado: Inhabilitado para todas las apps.

Cuándo OVERRIDE_MIN_ASPECT_RATIO también está habilitado, habilitar este cambio para un paquete la relación de aspecto mínima de la actividad a un valor alto, según lo definido por OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

ID del cambio: 180326845
Estado predeterminado: Inhabilitado para todas las apps.

Cuándo OVERRIDE_MIN_ASPECT_RATIO también está habilitado, habilitar este cambio para un paquete la relación de aspecto mínima de la actividad a un valor medio, según lo definido por OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE

OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA

ID del cambio: 325586858
Estado predeterminado: Inhabilitado para todas las apps.

Cuando se habilita, restringe los tratamientos que fuerzan la aplicación de una relación de aspecto mínima determinada para que solo se apliquen cuando una app está conectada a la cámara.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

ID del cambio: 203647190
Estado predeterminado: Habilitado para todas las apps.

Cuándo OVERRIDE_MIN_ASPECT_RATIO también está habilitado, este cambio limita cualquier otro cambio que fuerce un la relación de aspecto mínima de la actividad de búsqueda para un valor determinado, como OVERRIDE_MIN_ASPECT_RATIO_LARGE y OVERRIDE_MIN_ASPECT_RATIO_MEDIUM a que también tienen orientación vertical.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

ID del cambio: 236283604
Estado predeterminado: Inhabilitado para todas las apps.

Cuando se habilita, este cambio excluye los paquetes que se aplican a de las restricciones de orientación que los fabricantes de dispositivos que puedes configurar.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

ID del cambio: 265451093
Estado predeterminado: Inhabilitado para todas las apps.

Habilita SCREEN_ORIENTATION_NOSENSOR para la app a la que se aplica. Salvo que OVERRIDE_ANY_ORIENTATION también está habilitado, SCREEN_ORIENTATION_NOSENSOR es solo se usa cuando la actividad no especifica ningún otro tipo orientación.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

ID del cambio: 265452344
Estado predeterminado: Inhabilitado para todas las apps.

Habilita SCREEN_ORIENTATION_PORTRAIT para la app a la que se aplica. Salvo que OVERRIDE_ANY_ORIENTATION también está habilitado, SCREEN_ORIENTATION_PORTRAIT es solo se usa cuando la actividad no especifica ningún otro tipo orientación.

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

ID del cambio: 319400769
Estado predeterminado: Habilitado para apps orientadas a Android 15 (nivel de API 35) o versiones posteriores.

Cuando se habilita, permite analizar los encabezados de disposición de contenido que cumplan con RFC 6266. En particular, esto permite el análisis de valores filename* que pueden usar una codificación de caracteres diferente.

RATE_LIMIT_TOASTS

ID del cambio: 174840628
Estado predeterminado: No se puede activar ni desactivar este cambio. Solo se registra en el marco de compatibilidad.

Habilita el límite de frecuencia en la cantidad de Toast.show() llamadas para evitar sobrecargar al usuario con demasiados avisos en un por tiempo limitado. Cualquier intento de mostrar más avisos de lo permitido en una determinado período hace que se descarte el aviso.

STREAM_INT_DIFFERS_FROM_NEXT_INT

ID del cambio: 308103782
Estado predeterminado: Habilitado para apps orientadas a Android 15 (nivel de API 35) o versiones posteriores.

Cuando se habilitan, los métodos Random.ints() ahora muestran un secuencia de números diferente a la Random.nextInt() lo hacen. Esto se debe a los cambios en https://bugs.openjdk.org/browse/JDK-8301574.

Para obtener más información sobre este cambio, consulta la sección en Android 15 página de cambios de comportamiento acerca de Cambios en la API de OpenJDK.

USE_EXPERIMENTAL_COMPONENT_ALIAS

ID del cambio: 196254758
Estado predeterminado: Inhabilitado para todas las apps.

Cuando se habilita, el sistema permite que el paquete "android" use alias de componentes.

USE_NEW_ISO_LOCALE_CODES

ID del cambio: 291868760
Estado predeterminado: Habilitado para apps orientadas a Android 15 (nivel de API 35) o versiones posteriores.

Cuando están habilitados, los códigos de idioma para el hebreo, el yidis e indonesio ya no se convierten a sus formas obsoletas (en hebreo: iw, yidis: ji e indonesio: in).

Para obtener más información sobre este cambio, consulta la sección en Android 15 página de cambios de comportamiento acerca de Cambios en la API de OpenJDK.