Estoy usando CyanogenOS 12 (derivado de CM12), por lo que la siguiente solución puede no funcionar en un Lollipop de stock, pero independientemente, es una solución muy útil.
Los azulejos que puede alternar en los Ajustes rápidos tienen asignados nombres particulares como Bluetooth → bt
, Wi-Fi -> wifi
, Paisaje/Retrato → rotation
y muchos otros, y estos nombres se almacenan como un valor para la clave sysui_qs_tiles
bajo la mesa secure
de settings.db
(Almacenamiento de ajustes).
Si bien esos mosaicos pueden eliminarse/reorganizarse desde la interfaz de usuario de la configuración, también puede considerarse la línea de comandos para lograr la tarea.
El comando correspondiente 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ías ADB en su máquina antes de seguir adelante. Alternativamente, si el dispositivo está rooteado, puede utilizar una aplicación de terminal como Emulador de terminal para Android .
Nota: ADB en modo inalámbrico puede resultar peligroso si el dispositivo no admite la autenticación de un cliente antes de darle acceso. Proceda bajo su propio riesgo.
Primero tenemos que averiguar el valor almacenado en la clave sysui_qs_tiles
Para ello, introduzca en un terminal el comando
adb shell settings get secure sysui_qs_tiles
Para los dispositivos rooteados que utilizan la aplicación de terminal:
su
settings get secure sysui_qs_tiles
La salida sería como:
wifi,bt,cell,rotation,flashlight,hotspot,location,airplane
Ahora, si quiero eliminar Modo avión desde los Ajustes Rápidos o quiere Wi-Fi azulejo que se mostrará después de Hotspot entonces los comandos en un orden respectivo 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 los dispositivos rooteados que utilizan 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 los ajustes rápidos en la pantalla de bloqueo ". Puede utilizar un automatización herramienta como Tasker para eliminar los mosaicos de los Ajustes Rápidos cuando la pantalla está bloqueada, y añadirlos de nuevo cuando la pantalla está desbloqueada.
Antes de proceder a Tasker's uso, debo mencionar que settings
sólo se puede utilizar con ADB en dispositivos no rooteados debido a los privilegios más altos que se conceden a un usuario ordinario, y por lo tanto, para la automatización en Tasker el dispositivo tendría que tener ADB funcionando en modo inalámbrico. Para ello, consulte:
Instrucciones para Tasker
-
Cree una tarea llamada "Azulejos s-desbloqueados".
-
Añadir una acción como Código → Ejecutar Shell y añade estos detalles:
Comando : adb connect localhost:<PORT>; adb shell settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
Para los dispositivos rooteados, los detalles serían:
- Comando :
settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
- Consulte Utilizar root
Para los casos en los que es importante:
- Utilice
<PORT>
como el número de puerto en el que se ejecuta el ADB inalámbrico como 5555
- En lugar de
wifi,bt,cell,rotation,flashlight,hotspot,location
utilice los nombres de los azulejos que desee o tenga en la configuración rápida
-
Cree otra tarea llamada "Azulejos s-bloqueados".
-
Nota : Si ha configurado los ajustes de manera que la pantalla no se bloquee justo después de que el dispositivo entre en reposo, sino después de XY segundos (como 30
segundos), entonces crea una acción como Tarea → Espera y establecer esas XY Segundos . Alternativamente, sleep XY
se puede utilizar en el siguiente paso bajo el Comando . Arielle sugirió la idea .
-
Añade una acción más como Código → Ejecutar Shell y añade estos detalles:
Comando : adb connect localhost:<PORT>; adb shell settings put secure sysui_qs_tiles ' '
Para los dispositivos rooteados, los detalles serían:
- Comando :
settings put secure sysui_qs_tiles ' '
- Consulte Utilizar root
-
Cree un perfil llamado "S-unlocked" en Evento → Pantalla → Pantalla Desbloqueada , elija Highest
Prioridad y vincular la tarea "Azulejos s-desbloqueados".
-
Cree otro perfil llamado "S-locked" en Evento → Visualización → Desactivación de la pantalla , elija Highest
Prioridad y vincular la tarea "Azulejos s-bloqueados".
-
Tenga la Tasker habilitado, y contemplar la acción deseada bloqueando/desbloqueando la pantalla.
(Haga clic en la imagen para ampliarla)
Orden de las imágenes como "Sin azulejos cuando la pantalla está bloqueada" → "Azulejos cuando la pantalla está desbloqueada"
(Haga clic en la imagen para ampliarla)
Avísame si mi solución funciona en un dispositivo que ejecute Stock Lollipop.
0 votos
He encontrado este pero no ha funcionado en Marshmallow, puede que sí en Lollipop. Requiere Root y Xposed.
0 votos
Es hora de que te actualices a Android N :)
0 votos
En malvavisco, hay una configuración directa para no permitir el acceso al cajón de notificaciones cuando el dispositivo está bloqueado de forma segura.