Sto usando CyanogenOS 12 (derivato da CM12), quindi la seguente soluzione potrebbe non funzionare su un Lollipop di serie, ma a prescindere, è una soluzione molto utile.
Ai riquadri che puoi attivare nelle Impostazioni rapide sono assegnati nomi particolari come Bluetooth → bt
, Wi-Fi -> wifi
, Paesaggio / Ritratto → rotation
e molti altri, e questi nomi sono memorizzati come valore per la chiave sysui_qs_tiles
sotto la tabella secure
di settings.db
(Impostazioni Conservazione).
Mentre tali riquadri possono essere rimossi / riorganizzati dall'interfaccia utente delle impostazioni, la riga di comando può anche essere considerata per eseguire l'attività.
Il comando rilevante è settings
e il suo utilizzo è indicato come:
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.
Avresti bisogno di una configurazione ADB nel tuo computer prima di procedere oltre. In alternativa, se il dispositivo è rootato, puoi usare un'app terminale come Terminal Emulator per Android .
Nota: l' ADB in modalità wireless può rivelarsi pericoloso se il dispositivo non supporta l'autenticazione di un client prima di consentire l'accesso. Procedete a vostro rischio!
Dobbiamo prima scoprire il valore memorizzato nella chiave sysui_qs_tiles
e, per farlo, inserire in un terminale il comando:
adb shell settings get secure sysui_qs_tiles
Per i dispositivi con root usando l'app terminale:
su
settings get secure sysui_qs_tiles
L'output sarebbe come:
wifi,bt,cell,rotation,flashlight,hotspot,location,airplane
Ora, se desidero rimuovere la Modalità aereo dalle Impostazioni rapide o desidero mostrare il riquadro Wi-Fi dopo Hotspot , i comandi in un rispettivo ordine sarebbero:
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
Per i dispositivi con root usando l'app terminale:
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
Ora, tornando al requisito, ovvero " nascondi impostazioni rapide nella schermata di blocco ". È possibile utilizzare uno strumento di automazione come Tasker per rimuovere i riquadri dalle Impostazioni rapide quando lo schermo è bloccato e aggiungerli nuovamente quando lo schermo è sbloccato.
Prima di procedere con l' utilizzo di Tasker , dovrei menzionare che il settings
comando può essere utilizzato solo con ADB nei dispositivi non rooted a causa dei privilegi più elevati richiesti rispetto a quanto concesso a un utente normale e, quindi, per l'automazione in Tasker il dispositivo dovrebbe avere ADB in esecuzione in modalità wireless. Per fare ciò, vedi:
Istruzioni per Tasker
- Crea un'attività denominata "Piastrelle sbloccate".
Aggiungi un'azione come Codice → Esegui shell e aggiungi questi dettagli:
Comando :adb connect localhost:<PORT>; adb shell settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
Per i dispositivi rooted, i dettagli sarebbero:
- Comando :
settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
- Seleziona Usa radice
Per i casi in cui è importante:
- Utilizzare
<PORT>
come numero di porta su cui funziona ADB wireless5555
- Al posto
wifi,bt,cell,rotation,flashlight,hotspot,location
dell'uso i nomi delle tessere che desideri o hai in Impostazioni rapide
Crea un'altra attività denominata "Piastrelle bloccate".
Nota : se le impostazioni sono state configurate in modo tale che lo schermo non si blocchi subito dopo che il dispositivo è entrato in modalità sospensione, ma dopo XY secondi (come i 30
secondi), quindi creare un'azione come Attività → Attendi e impostare quei Secondi XY . In alternativa, sleep XY
può essere utilizzato nel passaggio successivo sotto il comando . Arielle ha suggerito l'idea .
Aggiungi un'altra azione come Codice → Esegui shell e aggiungi questi dettagli:
Comando :adb connect localhost:<PORT>; adb shell settings put secure sysui_qs_tiles ' '
Per i dispositivi rooted, i dettagli sarebbero:
- Comando :
settings put secure sysui_qs_tiles ' '
- Seleziona Usa radice
- Crea un profilo chiamato "S-sbloccato" in Evento → Visualizza → Visualizza sbloccato , scegli
Highest
Priorità e collega l'attività "Piastrelle S-sbloccate".
- Crea un altro profilo chiamato "Bloccato a S" in Evento → Visualizza → Visualizza spento , scegli
Highest
Priorità e collega l'attività "Piastrelle bloccate a S".
Abilita il Tasker e osserva l'azione desiderata bloccando / sbloccando lo schermo.
(Clicca sull'immagine per ingrandire)
Ordine delle immagini come "Nessuna tessera quando lo schermo è bloccato" → "Piastrelle quando lo schermo è sbloccato"
(Clicca sull'immagine per ingrandire)
Fammi sapere se la mia soluzione funziona in un dispositivo che esegue Stock Lollipop.