Gibt es eine Absicht zur Deinstallation einer App für ALLE Benutzer?

8

Hintergrund

Der normale Weg, um die Deinstallation einer App aufzurufen, ist einfach die " ACTION_DELETE " Absicht:

%Vor%

Das Problem

beginnend mit einigen Android-Version (erinnere mich nicht an welche), können Apps für mehrere Benutzer auf dem gleichen Gerät installiert werden.

Dies bedeutet, dass es eine neue Möglichkeit gibt, eine App zu deinstallieren, eine, die sie für alle Benutzer deinstalliert (Bild von Lollipop - Android 5.0):

Die Frage

Ich habe in der Dokumentation gesucht, konnte aber diese Fragen nicht beantworten:

  1. Gibt es eine Möglichkeit, diese Operation über eine Absicht auszuführen? Vielleicht etwas, um die Absicht, die ich oben geschrieben habe hinzuzufügen?

  2. Hat ADB einen neuen Befehl, um eine App für alle Benutzer zu entfernen?

  3. Gibt es eine Möglichkeit zu überprüfen, ob eine App für mehrere Benutzer installiert ist?

android developer 26.02.2015, 10:08
quelle

1 Antwort

7
  

Gibt es eine Möglichkeit, diese Operation über eine Absicht auszuführen? Könnte sein   etwas zu der Absicht, die ich oben geschrieben habe hinzuzufügen?

Ja, aber sei vorsichtig. Sie können Intent.EXTRA_UNINSTALL_ALL_USERS weitergeben.

Es ist jedoch versteckt, weil es:

  

sollte nicht Teil des normalen Anwendungsflusses sein

Sie könnten die Konstante trotzdem einfach weitergeben, wenn Sie das Gefühl haben, dass es notwendig ist und Sie nicht mit Google übereinstimmen. Zum Beispiel, hier sind die Unterschiede zwischen der Übergabe in false und true mit dieser Konstante

%Vor%

Ergebnisse

  

Hat ADB einen neuen Befehl, um eine App für alle Benutzer zu entfernen?

Nein, der Befehl bleibt derselbe.

%Vor%

Dadurch wird diese App für alle Benutzer entfernt. Ich kenne keine Möglichkeit, einen bestimmten Benutzer anzugeben.

  

Gibt es eine Möglichkeit zu überprüfen, ob eine App für mehrere Benutzer installiert ist?

Nein, ich bin mir dessen nicht bewusst. In der Tat, wenn die App "Einstellungen" beschließt, die " Deinstallieren für alle Benutzer " -Option im Optionsmenü, es basiert im Wesentlichen darauf, ob es mehrere Benutzer gibt oder nicht, nicht wenn sowohl der aktuelle Benutzer als auch ein anderer Benutzer eine App installiert haben.

Ganz zu schweigen von den meisten Methoden in UserManager , die Sie benötigen um festzustellen, ob sich auf dem Gerät mehrere Nutzer befinden, z. B. UserManager.getUserCount benötigen die MANAGE_USERS Berechtigung, die eine System-API ist und ausgeblendet ist . Also, ich bin mir nicht einmal sicher, warum das eine öffentliche Methode ist.

Sie können auch alle Ihre Fragen auf einfache Weise testen, indem Sie einen Dummy-Benutzer auf Ihrem Gerät erstellen. Sie müssen sich nicht einmal bei einem Google-Konto anmelden.

    
adneal 27.02.2015, 02:19
quelle