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

Un tutorial sobre cómo habilitar el modo inmersivo en todo el sistema (o por aplicación) sin requerir acceso de root. Funciona en todos los dispositivos Android 4.4+.

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

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

Los usuarios han estado flotando 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 desconectaba de una terminal ADB requeriría root acceso. Sin embargo, a finales del año pasado, los usuarios descubrieron que ciertos comandos ADB podían activarse en el dispositivo.

sin acceso root, siempre que la aplicación tenga un permiso determinado. Esto significa que puedes habilitar el modo inmersivo en todo el sistema Bajo demanda. Puede, por ejemplo, crear un mosaico de Nougat para alternar el modo inmersivo, o incluso configurar el modo inmersivo por aplicación.


Alternar modo inmersivo sin root

Como puedes ver en el vídeo de arriba, he creado un mosaico de Nougat que alterna el modo inmersivo cuando lo presiono. Esto está en mi Huawei Mate 9 no rooteado, pero debería funcionar casi todos los dispositivos Android 4.4+. Sólo necesitas dos aplicaciones para que esto funcione: Tasker y AutoTools Beta. También necesitarás instalar Notificación automática si quieres hacer un mosaico de turrón con esto, pero no es necesario.

Una vez que haya instalado ambas aplicaciones, deberá otorgar la ESCRIBIR_CONFIGURACIONES_SEGURAS permiso 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 el Ajustes. Global clase, 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.


En el sistema de gestión de permisos de Android, las aplicaciones definen los permisos que desean que se les otorgue en el archivo Manifiesto. Luego, los usuarios pueden otorgar o denegar permisos durante la instalación (antes de Marshmallow) o bajo demanda (Marshmallow+). Sin embargo, hay ciertos permisos que las aplicaciones no pueden otorgar incluso si lo solicitan en el Manifiesto, como por ejemplo ESCRIBIR_CONFIGURACIONES_SEGURAS. Esto se debe a que otorgar a cualquier aplicación un permiso tan poderoso como este le daría a esa aplicación un gran control sobre su dispositivo.

Pero hay una solución que podemos usar para otorgar el permiso WRITE_SECURE_SETTINGS a cualquier aplicación que queramos. Usando ADB administrador de paquetes (pm) herramienta, 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 tendrás que hacer es instalar el binario ADB en su computadora seguido del controlador adecuado para su dispositivo. Luego, habilite la depuración de USB en Opciones de desarrollador (vaya a Configuración --> Acerca del teléfono y toque 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 su dispositivo y de la versión del software, pero esa discusión queda para otro tema. tiempo. 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 de Nougat Tile

Alternar el modo inmersivo a través de un mosaico obviamente requiere Android Nougat, por lo que si no tienes Nougat, omite esta sección para aprender cómo alternarlo por aplicación. Si aún no lo has hecho, descarga AutoNotification desde Google Play Store y concédele acceso a notificaciones. Este complemento de Tasker es lo que usaremos para crear nuestro propio mosaico de notificaciones personalizado.

Aquí está la descripción del perfil para aquellos que estén familiarizados con Tasker. Si no estás familiarizado con Tasker, sigue leyendo para obtener instrucciones paso a paso.

Alternar modo inmersivo de mosaicos de turrón

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: AutoToolsSecureSettings[ Configuration: Immersive Mode: Toggle Timeout (Seconds):60 ]

leer más

Abre Tasker y presiona el botón + botón en la esquina inferior derecha. Crear un Evento contexto y seleccione Complemento --> Notificación automática. Presione el ícono de lápiz para abrir la página de configuración de AutoNotificación. Bajo la Filtro de comando ingresar modo inmersivo. Este es el comando exacto que se enviará cuando toquemos un mosaico de Nougat.

Ahora cree una nueva tarea (con cualquier nombre) adjunta a este perfil y, para la primera acción, vaya a Complemento -> Notificación automática -> Mosaicos. Para el número de mosaico, elija el primer mosaico. Para el Dominio ingresar modo inmersivo Exactamente como está escrito. El etiqueta es lo que se mostrará debajo del mosaico, así que asígnale un nombre como "Modo inmersivo". Para el Icono, guarde el ícono que adjunté al principio de esta sección en su almacenamiento interno y utilícelo. Finalmente para el Estado seleccionar 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 complete el mosaico. Ahora, una vez que expandas la lista de mosaicos de notificaciones disponibles, deberías ver tu nuevo modo inmersivo alternar.


Uso de Tasker para alternar el modo inmersivo por aplicación

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

Aquí está la descripción del perfil para aquellos que estén familiarizados con Tasker. Si no estás familiarizado con Tasker, sigue leyendo para obtener instrucciones paso a paso.

Modo inmersivo por aplicación

Profile: Per-App Immersive Mode (192)
Application: Chrome or XDA Labs
Enter: Anon (199)
A1: AutoToolsSecureSettings[ Configuration: Immersive Mode: Toggle Timeout (Seconds):60 ]

Exit: Anon (204)
A1: AutoToolsSecureSettings[ Configuration: Immersive Mode: Toggle Timeout (Seconds):60 ]

leer más

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

Cuando haya terminado, presione Atrás y Tasker le pedirá que cree una tarea. No es necesario nombrar la tarea, así que simplemente 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 deberá agregar una acción. presione el + botón en la parte inferior y vaya a Complemento --> AutoTools --> Configuración segura. Presione el ícono de lápiz para configurar AutoTools. Aquí, ve a Mostrar luego toque Modo inmersivo y elige "Palanca."

Hay una última cosa que debemos hacer, y es desactivar el modo inmersivo al salir de la aplicación. Vuelve a la pantalla principal de Tasker y pulsación larga en la tarea que acaba de crear para que pueda crear una Salir de la tarea. Cuando cree una tarea de salida, simplemente agregue la misma acción que agregó en la primera tarea; esto alternará el modo inmersivo.


Modo inmersivo de ajuste fino

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

settings put global policy_control immersive.status=*

settings put global policy_control immersive.navigation=*

Por supuesto, AutoTools en realidad no le permite enviar comandos de shell directamente como este, sino que enviará el comando utilizando 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 inmersión.navigation=*". Puede usar este comando en lugar del que usamos para Nougat Tile o el control por aplicación si prefiere que el modo inmersivo oculte una de las barras de estado o de navegación.


Descargar e importar a Tasker

Como siempre, le proporcionamos el archivo XML del script que puede descargar e importar. Simplemente descargue el archivo desde el enlace a continuación 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 como "Importar". Toque eso y busque donde guardó el archivo .prf.xml y seleccione ese archivo para importar.

Si elige importar el mosaico de notificaciones, asegúrese de guardar el ícono 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 en las que se activará, ya que mi ejemplo está configurado para activarse solo cuando se usa Chrome o XDA Labs.

Descargue el modo inmersivo del mosaico de notificaciones

Descargue el perfil de alternancia del 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!