6 votos

Multi-ventana: ¿cómo evitar que la aplicación fuera de enfoque se detenga?

Android 7.0 introdujo la API nativa de multi-ventana que permite que las aplicaciones se vean en modo de pantalla dividida globalmente.

Sin embargo, en el uso real, un inconveniente impide que sea tan útil como algunos usuarios podrían imaginar. Muchas aplicaciones, cuando están en la vista de multi-ventana pero no están en foco (es decir, el usuario está interactuando con otra aplicación en la vista de multi-ventana), detienen sus actividades: las aplicaciones de mensajería instantánea ya no actualizan los mensajes entrantes; las aplicaciones de música/video detienen la reproducción; los juegos no continúan con sus acciones.

La guía oficial para desarrolladores menciona brevemente el comportamiento de pausa, y por lo que entiendo, las aplicaciones deben ser programadas teniendo esto en cuenta para no mostrarlo. Pero, ¿hay alguna forma en la que pueda evitar esta limitación como usuario? Por lo que he escuchado de otros usuarios, ciertas versiones modificadas de Android de fabricantes como MIUI no muestran este tipo de pausa en absoluto.

TL;DR: ¿Puedo evitar que la aplicación fuera de foco se detenga en la multi-ventana?

1 votos

@beeshyams YouTube es un ejemplo conocido de respetar la funcionalidad de multi-ventana (bien escrita), no estoy seguro acerca de MX Player. Solo pregunté esto porque algunos de mis amigos me lo preguntaron cuando estaban jugando (popular en China), y hice algunas pruebas y noté que algunas de mis aplicaciones de mensajería instantánea también se pausaban. Probablemente se deba a que los desarrolladores chinos no cumplen con las pautas, pero la pregunta sigue siendo la misma.

4voto

Andy Yan Puntos 501

A principios de noviembre, Google confirmó que el multi-resume - ejecutar dos aplicaciones simultáneamente sin pausar - será parte de la próxima versión principal de Android (Q), confirmando así indirectamente que esta funcionalidad actualmente no es parte de Android AOSP.

Sin embargo, Google también afirmó que...

Para ayudar a los desarrolladores a brindar la mejor experiencia de usuario en la multi-ventana con un esfuerzo mínimo, estamos permitiendo a los fabricantes de dispositivos mantener todas las aplicaciones en estado de ejecución cuando estén en modo multi-ventana en P.

Para optar por este comportamiento en Android P, agregue los siguientes metadatos en el manifiesto de su aplicación:

Cómo probarlo: Actualmente no hay dispositivos con este comportamiento pero los fabricantes de dispositivos están trabajando en actualizar los dispositivos existentes para permitir a los desarrolladores probarlo. Estén atentos para más detalles de los fabricantes de dispositivos.

Esto implica que tal funcionalidad estará disponible en Android P en un momento posterior. Sin embargo, hasta ahora (diciembre de 2018), no hay ninguna referencia a allow_multiple_resumed_activities en el código de Android AOSP, lo que significa que aún no ha llegado el momento.

Fuentes: Google Blog, XDA-Developers


La beta de Android Q se lanzó el 13 de marzo de 2019, marcando el primer debut público de la función de multi-resume en Android no-OEM. Desafortunadamente, todavía no hay referencia a allow_multiple_resumed_activities en el código de Android P AOSP (Q aún no es de código abierto, obviamente), y la declaración "Actualmente no hay dispositivos con este comportamiento" no cambió en el blog mencionado anteriormente - la situación sigue siendo la misma para la mayoría de los usuarios y la comunidad de ROM personalizados.


A partir del lanzamiento oficial de Android 10, el multi-resume se ha convertido en el comportamiento predeterminado, como se indica en la página de diseño de multi-resume.

1 votos

@beeshyams Sí, tengo que decir que esto debería haberse revelado con el lanzamiento formal de la función de multi-ventana en primer lugar. Seguiré revisando el código, y si se publica, veré si puedo "persuadir" al sistema operativo para que lo aplique globalmente con un código menor.

2voto

Nic Puntos 48

No, esa no es algo que puedas afectar como usuario o desarrollador. El comportamiento de múltiples ventanas está definido por Android y cualquier dispositivo que se llame a sí mismo "Android" debe implementar las reglas para el ciclo de vida de múltiples ventanas.

En resumen, la aplicación necesita ser codificada para respetar la diferencia entre reanudar/pausar y comenzar/detener. Antes de la invención de las múltiples ventanas, la distinción entre ambas era tenue en el mejor de los casos. Ahora en realidad importa.

En mi experiencia, las aplicaciones de Google hacen un gran trabajo al trabajar con múltiples ventanas y es una cuestión de suerte con todo lo demás. Tu experiencia puede variar.

0 votos

En realidad viviría con la explicación, si no fuera porque algunos usuarios informan que algunos forks de Android han encontrado una solución alternativa...

0 votos

@AndyYan tiene razón, algunas bifurcaciones parecen "ignorar" este ciclo de vida.

1 votos

Me sorprendería mucho. Para ser llamado "Android", tienes que probar una suite de pruebas exhaustiva y estoy seguro de que algo pequeño como violar el ciclo de vida de la actividad fallaría en ello. La semántica de inicio / parada / pausa / reanudación para ventanas / pantallas múltiples está bien documentada. developer.android.com/guide/topics/ui/multi-window#lifecycle

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X