Screen Automator — GlobalAction
Résumé
- Nom interne :
SCREEN_AUTOMATOR - Catégorie : Automatisation écran / Accessibilité
- But : Exécuter des actions système Android prédéfinies (Home, Back, Recents, Notifications, Capture d’écran, etc.) via le service AccessibilityService d’Android.
- Type de tâche : Normale
Cette tâche permet à un workflow AndroMate de contrôler la navigation système et l’interface système sans se baser sur la détection de texte ou les coordonnées.
Compatibilité
- Version AndroMate minimale :
1.1.0 - Version AndroMate maximale :
1.1.0 - Android minimum :
Android 13 (API 33) - Android maximum testé :
Android 16 (API 36)
Constructeurs supportés
- ✅ Samsung (One UI 6.x / 7.x / 8.x)
Permissions nécessaires
ACCESSIBILITY_SERVICE- (Optionnel)
WRITE_SECURE_SETTINGSselon le comportement OEM/système
Description détaillée
Le mode GlobalAction de ScreenAutomator exécute des actions système Android de haut niveau exposées par le framework Accessibility.
Cas d’usage typiques :
- Navigation dans le système :
- HOME, BACK, RECENTS
- Ouvrir ou fermer les panneaux système :
- Panneau de notifications
- Paramètres rapides
- Dialogue d’alimentation
- Liste “Toutes les apps” du launcher
- Opérations sur l’appareil :
- Verrouiller l’écran
- Prendre une capture d’écran
- Activer/désactiver le mode écran partagé
- Simuler des touches spécifiques / D-Pad / contrôle média :
- D-Pad (haut, bas, gauche, droite, centre)
- Lecture/pause média
- Touche headset hook
La liste exacte des actions supportées dépend de la version Android (min SDK par action) et du constructeur de l’appareil.
Paramètres d’entrée
| Paramètre | Type | Obligatoire | Valeurs possibles | Compatibilité Android | Compatibilité AndroMate | Défaut |
|---|---|---|---|---|---|---|
Action_type |
Enum / String | Oui | Doit être "GlobalAction" |
Android 13 (API 33) → Android 16 (API 36) | 1.1.0 → 1.1.0 | — |
GlobalAction_type |
Enum / Integer | Oui | Toute action globale supportée | Dépend du min SDK de chaque action (16 → 33+) | 1.1.0 → 1.1.0 | — |
Paramètres de sortie
Ce mode GlobalAction :
- ne retourne pas stdout/stderr
- ne définit aucune variable de sortie spécifique
Son objectif est de réaliser une action (effet sur l’UI), pas de produire du contenu.
Détail des paramètres
1. Action_type
Indique le mode ScreenAutomator à utiliser.
- Pour ce README : il doit être défini sur
"GlobalAction".
Exemple
2. GlobalAction_type
Définit l'action globale Android qui sera exécutée.
Cette valeur est stockée sous forme d'entier/énumération interne et associée aux actions globales d'accessibilité d'Android.
Liste des actions (basée sur l'énumération)
| Nom logique | Description | Valeur hex | Min SDK |
|---|---|---|---|
| SHOW_LAUNCHERS_ALL_APPS | Afficher la liste “Toutes les apps” du launcher | 0x0000000B |
31 |
| SHOW_SCREEN_AUTOMATOR_BUTTON | Déclencher le bouton d’accessibilité | 0x0000000A |
31 |
| SCREEN_AUTOMATOR_BUTTON_CHOOSER | Ouvrir le menu du bouton d’accessibilité | 0x0000000C |
31 |
| SCREEN_AUTOMATOR_SHORT_CUT | Déclencher le raccourci d’accessibilité | 0x0000000D |
31 |
| ACTION_BACK | Revenir en arrière | 0x00000001 |
16 |
| DISMISS_NOTIFICATION_SHADE | Fermer le panneau de notifications | 0x0000000E |
31 |
| GLOBAL_ACTION_DPAD_CENTER | Événement D-Pad centre | 0x00000014 |
33 |
| GLOBAL_ACTION_DPAD_DOWN | Événement D-Pad bas | 0x00000011 |
33 |
| GLOBAL_ACTION_DPAD_RIGHT | Événement D-Pad droite | 0x00000013 |
33 |
| GLOBAL_ACTION_DPAD_UP | Événement D-Pad haut | 0x00000010 |
33 |
| GLOBAL_ACTION_HOME | Aller à l’écran d’accueil | 0x00000002 |
16 |
| GLOBAL_ACTION_KEYCODE_HEADSETHOOK | Événement bouton kit mains-libres | 0x0000000F |
31 |
| GLOBAL_ACTION_LOCK_SCREEN | Verrouiller l’écran | 0x00000008 |
28 |
| GLOBAL_ACTION_MEDIA_PLAY_PAUSE | Lecture / pause média | — | 22–36 |
| GLOBAL_ACTION_MENU | Déclencher la touche Menu | — | 21–36 |
| GLOBAL_ACTION_NOTIFICATIONS | Ouvrir les notifications | 0x00000004 |
16 |
| GLOBAL_ACTION_POWER_DIALOG | Ouvrir le menu d’alimentation | 0x00000006 |
21 |
| GLOBAL_ACTION_QUICK_SETTINGS | Ouvrir les paramètres rapides | 0x00000005 |
17 |
| GLOBAL_ACTION_RECENTS | Ouvrir les applications récentes | 0x00000003 |
16 |
| GLOBAL_ACTION_TAKE_SCREENSHOT | Prendre une capture d’écran | 0x00000009 |
28 |
| GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN | Activer/désactiver l’écran partagé | 0x00000007 |
24 |
Exceptions
| Code | Exception Name | Description |
|---|---|---|
| SCREEN-AUTOMATOR-ERROR-001 | INVALID_CONTROL_SERVICE_GLOBAL_ACTION | Action globale reçue invalide ou inconnue |
| SCREEN-AUTOMATOR-ERROR-002 | UNSUPPORTED_CONTROL_SERVICE_GLOBAL_ACTION | Action globale non supportée sur ce device ou cette version Android |
| SCREEN-AUTOMATOR-ERROR-003 | INVALID_ACTION_TYPE | Type d'action invalide (doit être GlobalAction) |
| SCREEN-AUTOMATOR-ERROR-008 | TIME_OUT | Le déclenchement de l’action globale a dépassé le délai autorisé |
Complete JSON example
{
"ScreenAutomator": [
{
"id": "1",
"title": "Go Home",
"Action_type": "GlobalAction",
"GlobalAction_type": 10
},
{
"id": "2",
"title": "Open Notifications",
"Action_type": "GlobalAction",
"GlobalAction_type": 7
},
{
"id": "3",
"title": "Open Recents",
"Action_type": "GlobalAction",
"GlobalAction_type": 12
},
{
"id": "4",
"title": "Take Screenshot",
"Action_type": "GlobalAction",
"GlobalAction_type": 18
}
]
}