J'utilise CyanogenOS 12 (dérivé de CM12), donc la solution suivante peut ne pas fonctionner sur une Lollipop d'origine, mais quoi qu'il en soit, c'est une solution très utile.
Les tuiles que vous pouvez basculer dans les paramètres rapides se voient attribuer des noms particuliers tels que Bluetooth → bt
, Wi-Fi -> wifi
, Paysage / Portrait → rotation
, et bien d'autres, et ces noms sont stockés en tant que valeur pour la clé sysui_qs_tiles
sous le tableausecure
de settings.db
(Paramètres Espace de rangement).
Bien que ces tuiles puissent être supprimées / réorganisées de l'interface utilisateur des paramètres, la ligne de commande peut également être envisagée pour réaliser la tâche.
La commande appropriée est settings
et son utilisation est mentionnée comme:
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.
Vous auriez besoin d'une configuration ADB sur votre machine avant de poursuivre. Alternativement, si l'appareil est enraciné, vous pouvez utiliser une application de terminal comme Terminal Emulator pour Android .
Remarque: ADB en mode sans fil peut s'avérer dangereux si l'appareil ne prend pas en charge l'authentification d'un client avant d'accorder l'accès. Procédez à vos risques et périls!
Nous devons d'abord trouver la valeur stockée dans la clé sysui_qs_tiles
, et pour ce faire, entrez dans un terminal la commande:
adb shell settings get secure sysui_qs_tiles
Pour les appareils enracinés utilisant l'application terminal:
su
settings get secure sysui_qs_tiles
La sortie serait comme:
wifi,bt,cell,rotation,flashlight,hotspot,location,airplane
Maintenant, si je veux supprimer le mode avion des paramètres rapides ou si je veux que la vignette Wi-Fi soit affichée après Hotspot , les commandes dans un ordre respectif seraient:
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
Pour les appareils enracinés utilisant l'application 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
Maintenant, revenons à l'exigence, c'est-à-dire " masquer les paramètres rapides sur l'écran de verrouillage ". Vous pouvez utiliser un outil d' automatisation comme Tasker pour supprimer les vignettes des paramètres rapides lorsque l'écran est verrouillé et les ajouter à nouveau lorsque l'écran est déverrouillé.
Avant de continuer avec l' utilisation de Tasker , je dois mentionner que la settings
commande ne peut être utilisée qu'avec ADB dans des appareils non rootés en raison des privilèges plus élevés requis que ceux accordés à un utilisateur ordinaire, et donc, pour l'automatisation dans Tasker, l'appareil devrait avoir ADB fonctionnant en mode sans fil. Pour ce faire, voir:
Instructions pour Tasker
- Créez une tâche nommée "Tiles s-unlocked".
Ajoutez une action en tant que Code → Exécuter le shell et ajoutez ces détails:
Commande :adb connect localhost:<PORT>; adb shell settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
Pour les appareils enracinés, les détails seraient:
- Commande :
settings put secure sysui_qs_tiles wifi,bt,cell,rotation,flashlight,hotspot,location
- Cochez Utiliser la racine
Pour les cas où cela compte:
- Utilisez
<PORT>
comme numéro de port sur lequel ADB sans fil fonctionne comme5555
- Au lieu d'
wifi,bt,cell,rotation,flashlight,hotspot,location
utiliser les noms des tuiles que vous voulez ou avez dans les paramètres rapides
Créez une autre tâche nommée "Tuiles verrouillées".
Remarque : Si vous avez configuré des paramètres tels que l'écran ne se verrouille pas juste après que l'appareil se soit endormi, mais après XY secondes (comme les 30
secondes), créez une action comme Tâche → Attendre et définissez ces secondes XY . Alternativement, sleep XY
peut être utilisé à l'étape suivante sous la commande . Arielle a suggéré l'idée .
Ajoutez une autre action comme Code → Exécuter Shell et ajoutez ces détails:
Commande :adb connect localhost:<PORT>; adb shell settings put secure sysui_qs_tiles ' '
Pour les appareils enracinés, les détails seraient:
- Commande :
settings put secure sysui_qs_tiles ' '
- Cochez Utiliser la racine
- Créez un profil nommé "S-déverrouillé" sous Événement → Affichage → Affichage déverrouillé , choisissez
Highest
Priorité et liez la tâche "Tuiles s-déverrouillées".
- Créez un autre profil nommé "S-verrouillé" sous Événement → Affichage → Affichage désactivé , choisissez
Highest
Priorité et liez la tâche "Tuiles s verrouillées".
Activez le Tasker et voyez l'action souhaitée en verrouillant / déverrouillant l'écran.
(Cliquez sur l'image pour agrandir)
Ordre des images comme "Pas de tuiles lorsque l'écran est verrouillé" → "Tuiles lorsque l'écran est déverrouillé"
(Cliquez sur l'image pour agrandir)
Faites-moi savoir si ma solution fonctionne sur un appareil exécutant Stock Lollipop.