En bref
Automatisation d'une tuile de réglages rapides déjà visible
# Click on a TileService of the specified component
cmd statusbar click-tile com.package.name/.service.QuickSettingsTileComponent
# You may need to expand the status bar to show the quick settings
# before it'll apply. Not sure why.
cmd statusbar expand-settings
sleep 0.25 # 250 ms or shorter may be enough
cmd statusbar collapse
Ajout d'une tuile de réglages rapides et suppression de celle-ci après un clic
# Expand, add tile, wait for it to initialize
cmd statusbar expand-settings
cmd statusbar add-tile com.package.name/.service.QuickSettingsTileComponent
sleep 0.20
# Click tile, wait for it to react
cmd statusbar click-tile com.package.name/.service.QuickSettingsTileComponent
sleep 0.35
# Remove tile, collapse
cmd statusbar remove-tile com.package.name/.service.QuickSettingsTileComponent
cmd statusbar collapse
Visite guidée
Recherche du nom du paquet et du composant
Sautez cette étape si vous savez déjà comment trouver le service QuickSettings Tile.
-
Installez une application comme apps_Packages Info [F-Droid] pour parcourir la liste des applications installées et de tous les services.
-
Trouvez l'application dont vous voulez faire basculer la tuile et ouvrez les détails de l'application en appuyant dessus.
- 例
Digital Wellbeing
es com.google.android.apps.wellbeing
-
Élargir le Services
dans la page de détail de l'application
-
Trouvez le service de tuiles, qui aura la permission android.permission.BIND_QUICK_SETTINGS_TILE
puis notez le nom du composant
- 例
Bedtime mode
(anciennement Grayscale
) La tuile QS est .screen.ui.GrayscaleTileService
-
Notez le nom complet du paquet et le nom du composant, et remplissez la commande ci-dessous :
cmd statusbar click-tile com.package.name/.service.QuickSettingsTileComponent
Exemple 1 : pour basculer Digital Wellbeing
's Bedtime mode
(anciennement Grayscale
) Tuile QS
cmd statusbar click-tile com.google.android.apps.wellbeing/.screen.ui.GrayscaleTileService
Exemple 2 : pour basculer Digital Wellbeing
's Focus Mode
Tuile QS
cmd statusbar click-tile com.google.android.apps.wellbeing/.focusmode.quicksettings.FocusModeTileService
Automatiser la tuile des réglages rapides
Sur certaines versions d'Android, le basculement de la tuile des paramètres rapides via click-tile
ne s'appliquera pas tant que la section Paramètres rapides ne sera pas développée. Dès que la section des paramètres rapides est révélée, elle fonctionnera, même si la tuile elle-même est placée sur une page secondaire de tuiles de paramètres rapides (par exemple, la page 2).
Cela fonctionne même lorsque l'écran est verrouillé si la tuile QS ne nécessite pas de déverrouillage pour basculer. Cependant, l'écran doit être allumé.
Essayez d'abord de ne pas développer la section des paramètres rapides, et si cela ne fonctionne pas, essayez plutôt la méthode de développement.
Mesures générales
Si la tuile Paramètres rapides est déjà ajoutée
- Allumer l'écran s'il est éteint
- Étendre les paramètres rapides via
cmd statusbar expand-settings
- Vous n'en avez peut-être pas besoin - essayez d'abord sans.
- Exécuter
cmd statusbar click-tile [component]
découverte ci-dessus
- Attendez un court délai, par exemple
250 ms
- En option, fermer la barre d'état via
cmd statusbar collapse
- Optionnellement, éteindre l'écran s'il n'était pas déjà allumé.
Si vous ne voulez pas garder la tuile des paramètres rapides
- Allumer l'écran s'il est éteint
- Étendre les paramètres rapides via
cmd statusbar expand-settings
- Comme précédemment, cela peut ne pas être nécessaire - essayez d'abord sans.
- Ajoutez le carreau des paramètres rapides via
cmd statusbar add-tile [component]
- Attendez un court délai, par exemple
200 ms
- Exécuter
cmd statusbar click-tile [component]
découverte ci-dessus
- Attendez un court délai, par exemple
350 ms
- Exécuter
cmd statusbar remove-tile [component]
- En option, fermer la barre d'état via
cmd statusbar collapse
- Optionnellement, éteindre l'écran s'il n'était pas déjà allumé.
Exemple de script shell (avec son homologue Tasker)
Si la tuile Paramètres rapides est déjà ajoutée
# Wake up device
input keyevent KEYCODE_WAKEUP
#
# Tasker: Add Action -> Display -> Turn On
# Expand the Quick Settings section of the status bar
cmd statusbar expand-settings
#
# Tasker: Add Action -> Code -> Run Shell, copy above
# Click on a TileService of the specified component
cmd statusbar click-tile com.package.name/.service.QuickSettingsTileComponent
#
# Tasker: Add Action -> Code -> Run Shell, copy above, check "Use Root"
# Wait for click to register, 350 ms or shorter may be enough
sleep 0.35
#
# Tasker: Add Action -> Task -> Wait, then set delay to 350 ms
# Optional: collapse status bar
# This won't work when on the lockscreen, but turning the screen off
# also collapses the status bar for you.
cmd statusbar collapse
#
# Tasker: Add Action -> Code -> Run Shell, copy above
# Optional: put device to sleep
# (Up to you: only turn off if the screen wasn't already on.)
input keyevent KEYCODE_POWER
#
# Tasker: Add Action -> Display -> Turn Off, enabling "Lock"
Si vous ne voulez pas garder la tuile des paramètres rapides
# Wake up device
input keyevent KEYCODE_WAKEUP
#
# Tasker: Add Action -> Display -> Turn On
# Expand the Quick Settings section of the status bar
cmd statusbar expand-settings
#
# Tasker: Add Action -> Code -> Run Shell, copy above
# Add the TileService of the specified component, click on it, then
# remove it
# 'sleep' gives time for the tile to initialize and the click to
# register, 200 ms or shorter may be enough
cmd statusbar add-tile com.package.name/.service.QuickSettingsTileComponent
sleep 0.20
cmd statusbar click-tile com.package.name/.service.QuickSettingsTileComponent
sleep 0.35
cmd statusbar remove-tile com.package.name/.service.QuickSettingsTileComponent
#
# Tasker: Add Action -> Code -> Run Shell, copy above, check "Use Root"
# No need to wait for click to register, waiting was done above
# Optional: collapse status bar
# This won't work when on the lockscreen, but turning the screen off
# also collapses the status bar for you.
cmd statusbar collapse
#
# Tasker: Add Action -> Code -> Run Shell, copy above
# Optional: put device to sleep
# (Up to you: only turn off if the screen wasn't already on.)
input keyevent KEYCODE_POWER
#
# Tasker: Add Action -> Display -> Turn Off, enabling "Lock"
NOTE : Root ou ADB est nécessaire !
Si vous utilisez une application d'automatisation plutôt que adb shell
, cmd statusbar add-tile/click-tile/remove-tile
doit être exécuté avec Root ou via, par exemple, les actions ADB WiFi.
L'autre cmd statusbar
peuvent être exécutées sans Root.
Tasker/etc ont des options non-Root pour réveiller l'écran et le mettre en veille.
Autres détails
cmd statusbar click-tile
semble avoir été ajouté avec Android 7.0 Les tuiles de réglage rapide personnalisées ont été officiellement ajoutées à Android, ce qui devrait donc fonctionner.
Je n'ai pas trouvé de moyen de lire l'état de la tuile Paramètres rapides, par exemple actif/activé ou inactif/ désactivé. Pour contourner ce problème, j'ai vérifié logcat
et des notifications d'applications via dumpsys notification
pour voir ce qui est en cours ou en pause.
Je n'ai pas non plus trouvé comment faire basculer les tuiles intégrées des paramètres rapides du système Android ; heureusement, la plupart d'entre eux semblent pouvoir être atteints par d'autres moyens (paramètres sécurisés, appels de service, etc.).