Estoy usando CyanogenOS 12 (derivado de CM12), por lo que la siguiente solución puede no funcionar en un Lollipop estándar, pero independientemente, es una solución muy útil.
A los mosaicos que puede alternar en la Configuración rápida se les asignan nombres particulares como Bluetooth → bt
, Wi-Fi -> wifi
, Paisaje / Retrato → rotation
y muchos otros, y estos nombres se almacenan como un valor para la tecla sysui_qs_tiles
en la tabla secure
de settings.db
(Configuración Almacenamiento).
Si bien esos mosaicos se pueden eliminar / reorganizar desde la IU de Configuración, también se puede considerar la línea de comando para lograr la tarea.
El comando relevante es settings
y su uso se menciona como:
usage: settings [--user NUM] get namespace key
settings [--user NUM] put namespace key value
settings [--user NUM] delete namespace key
'namespace' is one of {system, secure, global}, case-insensitive
If '--user NUM' is not given, the operations are performed on the owner user.
Necesitaría la configuración ADB en su máquina antes de continuar. Alternativamente, si el dispositivo está rooteado, puede usar una aplicación de terminal como Terminal Emulator para Android .
Nota: ADB en modo inalámbrico puede resultar peligroso si el dispositivo no admite la autenticación de un cliente antes de dar acceso. ¡Proceda bajo su propio riesgo!
Primero tenemos que encontrar el valor almacenado en la clave sysui_qs_tiles
, y para hacerlo, ingrese en una terminal el comando:
adb shell settings get secure sysui_qs_tiles
Para dispositivos rooteados que usan la aplicación de terminal:
su
settings get secure sysui_qs_tiles
El resultado sería como:
wifi,bt,cell,rotation,flashlight,hotspot,location,airplane
Ahora, si quiero quitar el modo de avión desde los Ajustes rápidos o quiere Wi-Fi baldosas que se muestra después de hotspot , a continuación, los comandos en un orden respectiva serían:
adb shell settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
adb shell settings put secure sysui_qs_tiles bt,cell,rotation,flashlight,hotspot,wifi,location
Para dispositivos rooteados que usan la aplicación de terminal:
su
settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
settings put secure sysui_qs_tiles bt,cell,rotation,flashlight,hotspot,wifi,location
Ahora, volviendo al requisito, es decir, " ocultar configuraciones rápidas en la pantalla de bloqueo ". Puede utilizar una automatización herramienta como Tasker para quitar los azulejos de configuración rápida cuando la pantalla está bloqueada, y añadir de nuevo cuando se desbloquea la pantalla.
Antes de continuar con el uso de Tasker , debo mencionar que el settings
comando solo se puede usar con ADB en dispositivos no rooteados debido a los mayores privilegios requeridos que los que se otorgan a un usuario común y, por lo tanto, para la automatización en Tasker, el dispositivo debería tener ADB funcionando en modo inalámbrico. Para hacerlo, ver:
Instrucciones para Tasker
- Crea una tarea llamada "Azulejos desbloqueados".
Agregue una acción como Código → Ejecutar Shell y agregue estos detalles:
Comando :adb connect localhost:<PORT>; adb shell settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
Para dispositivos rooteados, los detalles serían:
- Comando :
settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
- Comprobar uso de raíz
Para casos donde importa:
- Úselo
<PORT>
como el número de puerto en el que se ejecuta ADB wireless como5555
- En lugar de
wifi,bt,cell,rotation,flashlight,hotspot,location
usar los nombres de los mosaicos que desea o tiene en Configuración rápida
Cree otra tarea llamada "Tiles s-bloqueado".
Nota : Si configuró ajustes tales que la pantalla no se bloquea inmediatamente después de que el dispositivo se duerme, pero después de XY segundos (como 30
segundos), cree una acción como Tarea → Esperar y configure esos segundos XY . Alternativamente, sleep XY
se puede usar en el siguiente paso bajo el comando . Arielle sugirió la idea .
Agregue otra acción como Código → Ejecutar Shell y agregue estos detalles:
Comando :adb connect localhost:<PORT>; adb shell settings put secure sysui_qs_tiles ' '
Para dispositivos rooteados, los detalles serían:
- Comando :
settings put secure sysui_qs_tiles ' '
- Comprobar uso de raíz
- Cree un perfil llamado "S-desbloqueado" en Evento → Pantalla → Pantalla desbloqueado , elija
Highest
Prioridad y vincule la tarea "Mosaicos desbloqueados".
- Cree otro perfil llamado "S-bloqueado" en Evento → Pantalla → Pantalla desactivada , elija
Highest
Prioridad y vincule la tarea "Mosaico bloqueado".
Tenga el Tasker habilitado y contemple la acción deseada al bloquear / desbloquear la pantalla.
(Haga clic en la imagen para ampliarla)
Orden de imágenes como "Sin mosaicos cuando la pantalla está bloqueada" → "Mosaicos cuando la pantalla está desbloqueada"
(Haga clic en la imagen para ampliarla)
Avíseme si mi solución funciona en un dispositivo con Stock Lollipop.