Cómo habilitar el modo inmersivo en todo el sistema sin root

A medida que las pantallas de los teléfonos se vuelven cada vez más grandes, a veces queremos ocultar el estado y la barra de navegación para que podamos ver nuestro contenido utilizando la pantalla HD nítida y hermosa.

Comenzando con Android 4.4, las aplicaciones podrían implementar el modo inmersivo para brindar una experiencia de pantalla completa al usuario final. Desafortunadamente, Google y los fabricantes de equipos originales nunca han expuesto la capacidad de los usuarios de controlar manualmente cuándo quieren habilitar el modo inmersivo. Una aplicación de terceros llamada GMD Full Screen Immersive Mode ha proporcionado una solución alternativa durante algunos años, pero el mayor problema con el uso de esta aplicación es que rompe el teclado virtual.

Los usuarios han flotado alrededor de un comando ADB que activa un modo inmersivo en todo el sistema durante bastante tiempo, pero durante años se creyó que usar este comando cuando se desconecta de un terminal ADB requeriría acceso a la raíz. Sin embargo, a fines del año pasado, los usuarios descubrieron que ciertos comandos ADB podrían de hecho activarse en el dispositivo sin acceso de root, siempre que la aplicación tenga un cierto permiso. Esto significa que puede habilitar el modo inmersivo en todo el sistema a pedido . Puede, por ejemplo, crear un mosaico de turrón para alternar el modo inmersivo, o incluso configurar el modo inmersivo por aplicación.


Alternar modo inmersivo sin raíz

Como puede ver en el video de arriba, he creado un mosaico de turrón que alterna el modo inmersivo cuando lo presiono. Esto está en mi Huawei Mate 9 sin raíz, pero debería funcionar en casi todos los dispositivos Android 4.4+. Solo necesita dos aplicaciones para que esto funcione: Tasker y AutoTools Beta. También necesitará instalar AutoNotification si desea hacer un mosaico de Turrón con esto, pero no es obligatorio.

Una vez que haya instalado ambas aplicaciones, deberá otorgar el permiso WRITE_SECURE_SETTINGS a AutoTools para poder alternar el Modo inmersivo (entre otras configuraciones increíbles que cubriremos más adelante). Esto se debe a que el comando para el modo inmersivo se define en la clase Settings.Global, aunque la sintaxis exacta del comando está oculta en AOSP. Primero veremos cómo otorgar el permiso necesario a AutoTools y luego cómo usar el comando en Tasker.


Conceder permiso de configuración segura a AutoTools

Bajo el sistema de administración de permisos de Android, las aplicaciones definen los permisos que desean que se otorguen en el archivo Manifiesto. Los usuarios pueden otorgar o denegar permisos de instalación (pre-Marshmallow) o bajo demanda (Marshmallow +). Sin embargo, hay ciertos permisos que las aplicaciones no pueden otorgarse incluso si lo solicitan en el Manifiesto, como WRITE_SECURE_SETTINGS. Esto se debe a que otorgar a cualquier aplicación un permiso tan poderoso como esto le daría a esa aplicación un montón de control sobre su dispositivo.

Pero hay una solución alternativa que podemos usar para otorgar el permiso WRITE_SECURE_SETTINGS a cualquier aplicación que queramos. Al usar la herramienta de administrador de paquetes (pm) de ADB, podemos otorgar cualquier permiso a cualquier aplicación que queramos (siempre que la aplicación solicite ese permiso en el archivo Manifiesto).

Lo primero que deberá hacer es instalar el binario ADB en su computadora, seguido del controlador adecuado para su dispositivo. Luego, habilite la depuración USB en las Opciones de desarrollador (vaya a Configuración -> Acerca del teléfono y toque el número de compilación 7 veces si aún no lo ha hecho) y conecte su teléfono a su computadora. Finalmente, envíe el siguiente comando una vez que haya abierto una terminal:

adb shell pm grant com.joaomgcd.autotools android.permission.WRITE_SECURE_SETTINGS

Ahora AutoTools tendrá la capacidad de cambiar cualquier configuración global, segura o del sistema en su dispositivo. Hay varias formas de jugar con estas configuraciones, y la lista de configuraciones disponibles en cada categoría depende completamente de la construcción de su dispositivo y software, pero esa discusión es para otro momento. En cualquier caso, continuaremos mostrándole cómo usar AutoTools para alternar el Modo inmersivo.


Uso de Tasker para alternar el modo inmersivo a través del mosaico de turrón

Cambiar el modo inmersivo a través de un mosaico obviamente requiere Android Nougat, por lo que si no tiene Nougat, omita esta sección para aprender cómo alternarlo por aplicación. Si aún no lo ha hecho, descargue AutoNotification de Google Play Store y otórguele Acceso de notificación. Este complemento de Tasker es lo que usaremos para hacer nuestro propio mosaico de notificaciones personalizado.

Aquí está la descripción del perfil para aquellos de ustedes que están familiarizados con Tasker. Si no está tan familiarizado con Tasker, siga leyendo para obtener instrucciones paso a paso.

Turrón Azulejo Modo Inmersivo Alternar

 Profile: Toggle Immersive Mode (30) Event: AutoNotification [ Configuration:Event Behaviour Filter: immersivemode ] Enter: Immersive Mode (33) A1: AutoNotification Tiles [ Configuration:Tile: 1 Command: immersivemode Label: Immersive mode Icon: /storage/emulated/0/Tasker/immersive.png State: 999 Timeout (Seconds):60 ] A2: AutoTools Secure Settings [ Configuration:Immersive Mode: Toggle Timeout (Seconds):60 ] 

Abre Tasker y presiona el botón + en la esquina inferior derecha. Cree un contexto de evento y seleccione Plugin -> AutoNotification. Presione el ícono de lápiz para abrir la página de configuración de AutoNotification. Debajo del filtro de comando, ingrese el modo inmersivo . Este es el comando exacto que se enviará cuando toquemos un mosaico de turrón.

Ahora cree una nueva Tarea (con cualquier nombre) adjunta a este Perfil, y para la primera Acción vaya a Plugin -> AutoNotification -> Tiles . Para el número de mosaico, elija el primer mosaico. Para el comando, ingrese el modo inmersivo exactamente como está escrito. La etiqueta es lo que se mostrará debajo del mosaico, así que asígnele el nombre "Modo inmersivo". Para el icono, guarde el icono que adjunté al comienzo de esta sección en su almacenamiento interno y úselo. Finalmente, para el estado, seleccione Alternar activo / inactivo.

Una vez que haya terminado, ejecute la Tarea una vez (presione el botón de reproducción en la parte inferior izquierda de la pantalla de creación de Tarea) para que se rellene el mosaico. Ahora, una vez que expande la lista de mosaicos de notificación disponibles, debería ver su nuevo alternar el modo inmersivo.


Uso de Tasker para alternar el modo inmersivo en función de cada aplicación

Alternar el modo inmersivo por aplicación es bastante simple, todo lo que tenemos que hacer es crear un contexto de aplicación en Tasker que se activará cuando la aplicación se inicie o se cierre, y cuando lo haga, se activará el modo inmersivo. Para que Tasker pueda monitorear las aplicaciones, deberá habilitar su Servicio de Accesibilidad .

Aquí está la descripción del perfil para aquellos de ustedes que están familiarizados con Tasker. Si no está tan familiarizado con Tasker, siga leyendo para obtener instrucciones paso a paso.

Modo inmersivo por aplicación

 Profile: Per-App Immersive Mode (192) Application: Chrome or Labs Enter: Anon (199) A1: AutoTools Secure Settings [ Configuration:Immersive Mode: Toggle Timeout (Seconds):60 ] Exit: Anon (204) A1: AutoTools Secure Settings [ Configuration:Immersive Mode: Toggle Timeout (Seconds):60 ] 

Primero querrás abrir Tasker, ya que crearemos un perfil para iniciar el Modo inmersivo cuando ciertas aplicaciones estén abiertas. Abra Tasker y presione el botón + en la esquina inferior derecha para crear un nuevo perfil. Para el tipo de contexto, seleccione Aplicación y seleccione todas las aplicaciones en las que desea que esté activo el Modo inmersivo.

Cuando haya terminado, presione hacia atrás y Tasker le pedirá que cree una Tarea. No es necesario nombrar la tarea, así que solo presione la marca de verificación para comenzar la creación de la tarea. Una vez que ingrese a la pantalla de creación de Tareas, solo debe agregar una Acción. Presione el botón + en la parte inferior y vaya a Complemento -> Herramientas automáticas -> Configuración segura . Presione el ícono de lápiz para configurar AutoTools. Aquí, vaya a Pantalla, luego toque Modo inmersivo y elija " Alternar ".

Hay una última cosa que debemos hacer, y es desactivar el Modo inmersivo cuando salga de la aplicación. Vuelva a la pantalla principal de Tasker y mantenga presionada la Tarea que acaba de crear para que pueda crear una Tarea de salida . Cuando cree una tarea de salida, simplemente agregue la misma acción que agregó en la primera tarea; esto activará el Modo inmersivo.


Ajuste del modo inmersivo

Como mencioné anteriormente, los comandos exactos disponibles para forzar el Modo inmersivo se pueden obtener de AOSP. Puede configurar el Modo inmersivo para que solo oculte la barra de notificaciones o que también oculte la barra de navegación, emitiendo cualquiera de los siguientes comandos:

settings put global policy_control immersive.status=*

la configuración pone global policy_control immersive.navigation = *

Por supuesto, AutoTools no te permite enviar directamente comandos de shell como este, sino que enviarás el comando usando su interfaz. Simplemente seleccione "Configuración personalizada" en Configuración segura de AutoTools, establezca el Tipo de configuración en "global", establezca el "Tipo de entrada" en "Cadena" y para el Nombre debe ingresar "policy_control immersive.status = *" o "policy_control inmersivo .navigation = * ". Puede usar este comando en lugar del que usamos para el mosaico de turrón o el control por aplicación si prefiere el modo inmersivo que oculta uno de la barra de estado o la barra de navegación.


Descargar e importar a Tasker

Como siempre, proporcionamos el archivo XML del script que puede descargar e importar. Simplemente descargue el archivo desde el siguiente enlace y guárdelo en cualquier lugar de su almacenamiento interno. Abra Tasker y desactive el Modo principiante en Preferencias. Luego, regrese a la pantalla principal y mantenga presionada la pestaña "Perfil" en la parte superior. Debería ver una ventana emergente con una de las opciones "Importar". Pulse sobre eso y vaya a donde guardó el archivo .prf.xml y seleccione ese archivo para importar.

Si elige importar el mosaico de notificaciones, asegúrese de guardar el icono del modo inmersivo como immersive.png y guárdelo en / sdcard / Tasker. Si elige importar el perfil por aplicación, asegúrese de ingresar y personalizar las aplicaciones que se activarán, ya que mi muestra está configurada para activarse solo cuando se usa Chrome o Labs.

Descargue el mosaico de notificaciones Modo de alternancia de inmersión Descargue el perfil de alternancia de modo inmersivo por aplicación

Esperamos que encuentre útil este consejo. ¡Háganos saber en los comentarios a continuación si esto funciona para usted!