Action - Initialisiere Variable Package Info

Die Action Initialisiere Variable Package Info lädt Informationen zu den angegebenen Apps/Packages und legt sie in einer Variable als Map ab.

Tipp: Condition Debug Dialog kann die Schlüssel und Werte der Map anzeigen.

 

Beispiele:
  • Lade die Liste der verwendeten Berechtigungen einer App und prüfe, welche Berechtigungen genehmigt wurden.
Format

Die Map enthält den Packagename als Schlüssel und die Map mit den gefundenen Daten als Wert. Beispiel als JSON dargestellt:

        {
          "package1": {"version_name": xyz, "version_code": 123},
          "package2": {"version_name": xyz, "version_code": 123}
        }
    

Beispiel JSON einer App:

        {
          "com.android.vending": {
            "version_name": "6.4.12.C-all [0] 2744941", // der Versionsname
            "version_code": 80641200, // die Versionsnummer
            "first_install_time": 1230796800000, // die Zeit der Erstinstallation der App (Millis seit 1970)
            "last_update_time": 1461091018180, // die letzte Aktualisierung der App (Millis seit 1970)
            "install_location": -1, // -1=auto?, 0=auto, 1=nur intern, 2=extern bevorzugen
            "application_info": {
              "data_dir": "/data/user/0/com.android.vending", // zugewiesener Pfad für persistente Daten der App
              "class_name": "com.google.android.finsky.FinskyApp", // Klasse welche Application implementiert
              "source_dir": "/data/app/com.android.vending-2/base.apk", // Pfad zum Basis APK dieser App
              "label": "Google Play Store", // das Label der App (aktuelle Spracheinstellung)
              "uid": 10024, // die Kernel-User-ID welche der App zugewiesen wurde
              "icon_uri": "android.resource://com.android.vending/2130903045", // URI um das Icon der App zu laden
              "target_sdk_version": 23, // der API Level welcher die App unterstützt
              "enabled": true // ob das Android System Komponenten dieser App instanzieren kann
            },
            "requested_permissions": [
              {
                "permission": "android.permission.WRITE_EXTERNAL_STORAGE", // der Name der Berechtigung
                "requested_permission_flag": 3, // 1=angefordert, 3=angefordert & gewährt
                "label": "modify or delete the contents of your USB storage", // das Label der Berechtigung
                "description": "Allows the app to write to the USB storage.", // die Beschreibung der Berechtigung
                "protection_level": 1, // Schutz-Level als Zahl
                "protection_level_text": "dangerous", // Schutz-Level als Text
                "group": "android.permission-group.STORAGE", // der Name der Gruppe der Berechtigung
                "group_label": "Storage", // das Label der Gruppe
                "group_description": "access photos, media, and files on your device" // die Beschreibung der Gruppe
              }, ...
            ],
            "activity_info": [
              {
                "name": "com.android.vending.AssetBrowserActivity",
                "label": "Play Store",
                "icon_uri": "android.resource://com.android.vending/2130903045",
                "enabled": true, // ob die Activity eingeschaltet ist
                "exported": true // ob die Activity durch andere Apps verwendet werden kann
                "permission": "com.google.android..." // benötigte Berechtigung um auf die Activity zuzugreifen (wenn definiert)
              },
            ],
            "receiver_info": [
              {
                "name": "com.google.android.gcm.GCMBroadcastReceiver",
                "label": "Google Play Store",
                "enabled": true,
                "exported": true,
                "permission": "com.google.android.c2dm.permission.SEND"
              }, ...
            ],
            "provider_info": [
              {
                "name": "com.google.android.finsky.providers.RecentSuggestionsProvider",
                "label": "Google Play Store",
                "authority": "com.google.android.finsky.RecentSuggestionsProvider",
                "enabled": true,
                "exported": false
              }, ...
            ],
            "service_info": [
              {
                "name": "com.google.android.finsky.services.ReviewsService",
                "label": "Google Play Store",
                "enabled": true,
                "exported": true
              }, ...
            ]
          }, ...
        }
    

In zukünftigen Versionen von Automagic könnten weitere Schlüssel-Wert-Paare hinzugefügt werden.

Einstellungen
Typ
Ob Informationen zu allen Packages oder nur zu ausgewählte Packages geladen werden soll.
Package Namen
Die Liste der Packages. Glob Patterns (*, ?) werden unterstützt. Variablen werden unterstützt.
Infos über Berechtigungen
Ob Informationen zu Berechtigungen geladen werden sollen.
Infos über Activities
Ob Informationen zu Activities geladen werden sollen.
Infos über Receiver
Ob Informationen zu Receivern geladen werden sollen.
Infos über Provider
Ob Informationen zu Provider geladen werden sollen.
Infos über Dienste
Ob Informationen zu Diensten geladen werden sollen.
Variable
Der Name der Variable um das Resultat abzulegen.
Eine Variable ist ein Platzhalter für einen Wert und kann in vielen Actions und Conditions verwendet werden, um einen Text dynamisch zu definieren.
Siehe Action Script für eine Beschreibung.

Gelieferte Variablen
package_info
die Map mit den gelieferten Daten