Aller au contenu

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 :

  1. Vérifier la connexion : échoue immédiatement avec SERVICE_NOT_CONNECTED si le service d'accessibilité n'est pas activé.
  2. Résoudre l'action : convertit GlobalAction_type (un entier) en un GlobalActionType connu.
  3. Vérifier le SDK : rejette l'action si la version Android de l'appareil est inférieure au SDK minimum de cette action.
  4. Exécuter : appelle performGlobalAction ; un retour false lève ACTION_FAILED.

Exemples de code

Exemple 1 - Retour arrière

{
  "GlobalAction": [
    { "id": "1", "title": "Retour", "GlobalAction_type": 1 }
  ]
}

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

"GlobalAction_type": 1

Détails des paramètres de sortie

Cette tâche n'a pas de paramètres de sortie.


Exemple JSON complet

{
  "GlobalAction": [
    { "id": "1", "title": "Retour Accueil", "GlobalAction_type": 2 },
    { "id": "2", "title": "Ouvrir Notifications", "GlobalAction_type": 4 },
    { "id": "3", "title": "Capture d'écran", "GlobalAction_type": 9 }
  ]
}