Tâche Global Action
Résumé
- Nom interne :
GlobalAction - Catégorie : Android UI
- Objectif : Déclencher une action système de niveau accessibilité (retour, accueil, applications récentes, capture d'écran, verrouillage de l'écran, etc.) via l'AccessibilityService Android.
- Type de tâche : Normal
Compatibilité
- Version AndroMate minimale :
1.1.0 - Version AndroMate maximale :
1.1.0 - Android minimum :
Android 13 (API 33) - Android testé maximum :
Android 16 (API 36) -
Fabricants supportés :
- Samsung (One UI 6.x / 7.x / 8.x)
- Autres fabricants - pas encore supportés (Xiaomi HyperOS et Google Pixel en cours d'adaptation)
- Permissions requises :
ACCESSIBILITY_SERVICE- le service d'accessibilité AndroMate doit être activé dans les paramètres système
Description détaillée
La tâche Global Action est l'une des actions issues de la scission de l'ancienne tâche combinée ScreenAutomator (voir Screen Automator). Elle appelle AccessibilityService.performGlobalAction(int) via BaseControlService, que la tâche atteint directement par une référence statique (BaseControlService.getInstance()) plutôt que par un broadcast - le service d'accessibilité doit donc déjà être connecté (activé par l'utilisateur) au moment de l'exécution.
Chaque action globale a sa propre version minimale d'Android requise, indépendante de la plage de compatibilité d'AndroMate - voir la liste d'actions dans > Détails du paramètre d'entrée.
Paramètres d'entrée
| Paramètre | Type | Requis | Valeurs possibles | Compatibilité Android | Compatibilité AndroMate | Défaut |
|---|---|---|---|---|---|---|
GlobalAction_type |
Entier (résolvable) | Oui | Code entier d'une action globale supportée - voir tableau ci-dessous | Dépend de l'action choisie (16 -> 36) | 1.1.0 -> 1.1.0 | 0 |
Paramètres de sortie
Cette tâche ne produit aucune variable de sortie. Elle retourne un VoidResult en cas de succès.
Exceptions
| Code | Nom de l'exception | Description |
|---|---|---|
SCREEN-AUTOMATOR-ERROR-001 |
Invalid Control Service Global Action | GlobalAction_type ne correspond à aucune action connue. |
SCREEN-AUTOMATOR-ERROR-002 |
Unsupported Control Service Global Action | L'action existe mais nécessite un SDK Android supérieur à celui de l'appareil. |
SCREEN-AUTOMATOR-ERROR-010 |
Screen Automator Service Not Connected | Le service d'accessibilité AndroMate n'est pas activé/connecté - activez-le dans les paramètres système. |
SCREEN-AUTOMATOR-ERROR-011 |
Screen Automator Action Failed | performGlobalAction a retourné false (action refusée par le système). |
Diagramme d'exécution
flowchart TD
Start([GlobalAction]) --> CheckConnected{Service d'accessibilité\nconnecté ?}
CheckConnected -->|Non| E1[SCREEN-AUTOMATOR-ERROR-010\nSERVICE_NOT_CONNECTED]
CheckConnected -->|Oui| Resolve{GlobalAction_type\ncorrespond à une action connue ?}
Resolve -->|Non| E2[SCREEN-AUTOMATOR-ERROR-001\nINVALID_GLOBAL_ACTION]
Resolve -->|Oui| CheckSdk{SDK de l'appareil ≥\nminSdk de l'action ?}
CheckSdk -->|Non| E3[SCREEN-AUTOMATOR-ERROR-002\nUNSUPPORTED_GLOBAL_ACTION]
CheckSdk -->|Oui| Perform[performGlobalAction]
Perform --> Done{A retourné true ?}
Done -->|Non| E4[SCREEN-AUTOMATOR-ERROR-011\nACTION_FAILED]
Done -->|Oui| Success([VoidResult])
E1 --> Error([Exception])
E2 --> Error
E3 --> Error
E4 --> Error
style Start fill:#e3f2fd
style Success fill:#c8e6c9
style Error fill:#ffcdd2
style Perform fill:#fff9c4
Fonctionnement :
- Vérifier la connexion : échoue immédiatement avec
SERVICE_NOT_CONNECTEDsi le service d'accessibilité n'est pas activé. - Résoudre l'action : convertit
GlobalAction_type(un entier) en unGlobalActionTypeconnu. - Vérifier le SDK : rejette l'action si la version Android de l'appareil est inférieure au SDK minimum de cette action.
- Exécuter : appelle
performGlobalAction; un retourfalselèveACTION_FAILED.
Exemples de code
Exemple 1 - Retour arrière
Détails des paramètres d'entrée
1. Paramètre d'entrée : GlobalAction_type
Sélectionne quelle action système exécuter. Stocké comme un entier, résolvable depuis une $variable.
| Nom logique | Description | Constante Android Global Action | SDK min |
|---|---|---|---|
| 14 | Afficher la liste "toutes les applications" du launcher | GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS |
31 |
| 11 | Déclencher le bouton d'accessibilité | GLOBAL_ACTION_ACCESSIBILITY_BUTTON |
31 |
| 12 | Ouvrir le menu du bouton d'accessibilité | GLOBAL_ACTION_ACCESSIBILITY_BUTTON_CHOOSER |
31 |
| 13 | Déclencher le raccourci d'accessibilité | GLOBAL_ACTION_ACCESSIBILITY_SHORTCUT |
31 |
| 1 | Retour arrière | GLOBAL_ACTION_BACK |
16 |
| 15 | Fermer le panneau de notifications | GLOBAL_ACTION_DISMISS_NOTIFICATION_SHADE |
31 |
| 20 | Événement D-Pad centre | GLOBAL_ACTION_DPAD_CENTER |
33 |
| 17 | Événement D-Pad bas | - | 33 |
| 18 | Événement D-Pad gauche | - | 33 |
| 19 | Événement D-Pad droite | GLOBAL_ACTION_DPAD_RIGHT |
33 |
| 16 | Événement D-Pad haut | GLOBAL_ACTION_DPAD_UP |
33 |
| 2 | Retour à l'accueil | GLOBAL_ACTION_HOME |
16 |
| 10 | Envoyer l'événement clé KEYCODE_HEADSETHOOK |
GLOBAL_ACTION_KEYCODE_HEADSETHOOK |
31 |
| 8 | Verrouiller l'écran | GLOBAL_ACTION_LOCK_SCREEN |
28 |
| 22 | Lecture/pause média | (en attente SDK 36) | 22-36 |
| 21 | Événement touche Menu | (en attente SDK 36) | 21-36 |
| 4 | Ouvrir les notifications | GLOBAL_ACTION_NOTIFICATIONS |
16 |
| 6 | Ouvrir le dialogue d'appui long sur alimentation | GLOBAL_ACTION_POWER_DIALOG |
21 |
| 5 | Ouvrir les paramètres rapides | GLOBAL_ACTION_QUICK_SETTINGS |
17 |
| 3 | Aperçu / applications récentes | GLOBAL_ACTION_RECENTS |
16 |
| 9 | Prendre une capture d'écran | GLOBAL_ACTION_TAKE_SCREENSHOT |
28 |
| 7 | Basculer l'écran partagé (docking window) | GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN |
24 |
Exemple
Détails des paramètres de sortie
Cette tâche n'a pas de paramètres de sortie.