Compatibilidad con múltiples ventanas

En Android 7.0 y versiones posteriores, los dispositivos pueden mostrar múltiples aplicaciones simultáneamente usando múltiples ventanas. Android admite tres configuraciones de ventanas múltiples:

  • La pantalla dividida es la implementación predeterminada de múltiples ventanas, que proporciona dos paneles de actividad donde los usuarios pueden colocar aplicaciones.
  • Freeform permite a los usuarios cambiar el tamaño de los paneles de actividad de forma dinámica y tener más de dos aplicaciones visibles en su pantalla.
  • Picture-in-picture (PIP) permite que los dispositivos Android reproduzcan contenido de video en una ventana pequeña mientras el usuario interactúa con otras aplicaciones.

Implementación

La compatibilidad con ventanas múltiples está habilitada de forma predeterminada en Android 7.0 y versiones posteriores. Para deshabilitarlo, establezca el indicador config_supportsMultiWindow en false en el archivo config.xml de su dispositivo.

La ventana múltiple está deshabilitada de manera predeterminada en todos los dispositivos con poca RAM (dispositivos que declaran ActivityManager.isLowRam() ). Los dispositivos con poca RAM ignoran el valor del indicador config_supportsMultiWindow .

Pantalla dividida

La experiencia predeterminada de las ventanas múltiples es el modo de pantalla dividida, donde la interfaz de usuario del sistema se divide por la mitad del dispositivo en forma vertical u horizontal. Los usuarios pueden cambiar el tamaño de la ventana arrastrando la línea divisoria de lado a lado o de arriba a abajo, según la orientación del dispositivo.

Después de habilitar la pantalla dividida, los fabricantes de dispositivos pueden optar por habilitar la forma libre o PIP.

Android 8.0 y versiones posteriores mejoran la pantalla dividida al comprimir el iniciador cuando el usuario toca Inicio . Para obtener detalles de implementación, consulte Interacciones de pantalla dividida .

Forma libre

Después de habilitar el modo de ventanas múltiples con el indicador config_supportsMultiWindow , los fabricantes de dispositivos pueden permitir ventanas de forma libre. Este modo es más útil en dispositivos más grandes, como tabletas.

Para admitir el modo de forma libre, habilite la característica del sistema PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT en /android/frameworks/base/core/java/android/content/pm/PackageManager.java y establezca config_freeformWindowManagement en true en config.xml .

    <bool name="config_freeformWindowManagement">true</bool>
    

Imagen en imagen

Después de habilitar el modo de ventanas múltiples con el indicador config_supportsMultiWindow , los fabricantes de dispositivos pueden admitir imagen en imagen , lo que permite a los usuarios ver videos mientras navegan por otras actividades. Si bien esta función está dirigida a dispositivos Android Television, otros tipos de dispositivos pueden admitir esta función.

Para admitir PIP, habilite la característica del sistema PackageManager#FEATURE_PICTURE_IN_PICTURE en /android/frameworks/base/core/java/android/content/pm/PackageManager.java .

Para obtener más detalles sobre la implementación de PIP para dispositivos que ejecutan Android 8.0 y versiones posteriores, consulte la página Picture-in-picture .

Interfaz de usuario del sistema

Admite todas las interfaces de usuario estándar del sistema de acuerdo con la documentación para desarrolladores de ventanas múltiples .

aplicaciones

Para admitir el modo de ventanas múltiples para aplicaciones precargadas, consulte la documentación para desarrolladores de Android .

Validación

Para validar su implementación de ventanas múltiples, ejecute las pruebas CTS relacionadas y siga las instrucciones de prueba para ventanas múltiples .

Para Android 7.0, las pruebas están en /platform/cts/hostsidetests/services/activitymanager/src/android/server/cts . En Android 8.0 y versiones posteriores, las pruebas se encuentran en /platform/cts/tests/framework/base/activitymanager/src/android/server/am .