Tâche Get Installed Apps
Résumé
- Nom interne :
GetInstalledApps - Catégorie : Package Manager
- Objectif : Lister toutes les applications installées sur l'appareil sous forme de tableau JSON. Chaque entrée contient le nom de package, le libellé, la version, et les indicateurs système/activé.
- Type de tâche : Normale
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) -
Permissions requises :
QUERY_ALL_PACKAGES
Description détaillée
La tâche Get Installed Apps énumère tous les packages de l'appareil via PackageManager.getInstalledPackages() et produit un tableau JSON. Les applications système sont exclues par défaut ; activez include_system pour les inclure.
La sortie est légère — elle ne lit pas la taille de l'APK par application (ce qui nécessiterait un accès au système de fichiers pour chaque package), gardant la tâche rapide même sur des appareils avec des centaines d'applications.
Depuis Android 11 (API 30), les applications ne peuvent plus énumérer les autres packages par défaut (filtrage de visibilité des packages). AndroMate déclare la permission QUERY_ALL_PACKAGES pour que la liste complète soit visible.
Paramètres d'entrée
| Paramètre | Type | Requis | Valeurs possibles / Règles | Compatibilité Android | Compatibilité AndroMate | Défaut |
|---|---|---|---|---|---|---|
include_system |
Boolean | Non | true pour inclure les applications système préinstallées |
Android 13 (API 33) → Android 16 (API 36) | 1.1.0 → 1.1.0 | false |
Paramètres de sortie
| Champ | Type | Condition de déclenchement | Compatibilité Android | Compatibilité AndroMate | Défaut |
|---|---|---|---|---|---|
json_array_output |
Tableau JSON | Toujours en cas de succès — tableau d'objets app | Android 13 (API 33) → Android 16 (API 36) | 1.1.0 → 1.1.0 | <ANDROMATE_NULL_VALUE> |
Structure d'un élément du tableau
Chaque élément de json_array_output a la forme suivante :
{
"packageName": "com.whatsapp",
"appName": "WhatsApp",
"versionName": "2.24.1",
"versionCode": 24001,
"isSystemApp": false,
"isEnabled": true
}
Exceptions
Cette tâche ne lève pas d'exceptions. Si aucune application ne correspond, un tableau JSON vide est retourné.
Diagramme d'exécution
flowchart TD
Start([▶ GetInstalledApps]) --> List[📦 getInstalledPackages]
List --> Loop[🔁 Pour chaque package]
Loop --> SystemCheck{App système et\ninclude_system = false ?}
SystemCheck -->|Ignorer| Loop
SystemCheck -->|Garder| Build[🧩 Construire objet JSON\npackage, nom, version, indicateurs]
Build --> Loop
Loop --> Store[💾 Définir json_array_output\nJsonArrayTaskResult]
Store --> Success([✅ JsonArrayTaskResult])
style Start fill:#e3f2fd
style Success fill:#c8e6c9
style List fill:#fff9c4
style Build fill:#f3e5f5
style Store fill:#c8e6c9
Fonctionnement :
- Liste :
getInstalledPackages()retourne tous les packages - Filtrage : les applications système sont ignorées sauf si
include_systemesttrue - Construction : un objet JSON est construit pour chaque app (package, libellé, version, indicateurs)
- Stockage : le tableau JSON est écrit dans
json_array_output - Résultat : retourne
JsonArrayTaskResult
Exemples de code
Exemple 1 — Lister uniquement les applications utilisateur
{
"GetInstalledApps": [
{
"id": "1",
"title": "Lister apps utilisateur",
"include_system": false,
"json_array_output": "$apps"
}
]
}
Exemple 2 — Inclure les applications système
{
"GetInstalledApps": [
{
"id": "2",
"title": "Lister toutes les apps",
"include_system": true,
"json_array_output": "$all_apps"
}
]
}
Détail des paramètres d'entrée
include_system — Inclure les applications système
Contrôle si les applications système préinstallées apparaissent dans le résultat.
false(défaut) : seules les applications installées par l'utilisateur sont listéestrue: les applications système (celles avecFLAG_SYSTEM) sont également incluses- Supporte l'interpolation de variables (ex.
$with_system)
Détail des paramètres de sortie
json_array_output — Liste des applications installées
Stocke la liste complète des applications installées sous forme de tableau JSON dans la variable de workflow spécifiée. Chaque élément est un objet :
| Clé | Type | Description |
|---|---|---|
packageName |
String | Identifiant de package (ex. com.whatsapp) |
appName |
String | Libellé d'affichage (ex. "WhatsApp") |
versionName |
String | Version lisible (ex. "2.24.1") |
versionCode |
Number | Code de version entier (ex. 24001) |
isSystemApp |
Boolean | true si app système préinstallée |
isEnabled |
Boolean | true si l'app est activée |
Le tableau peut ensuite être traité avec la tâche JSON Object Operation (ex. lire sa taille, itérer, extraire un champ).