Wie deinstalliere ich eine App selbst?

Das Problem ist das - meine App bekommt Administratorrechte, um sie zu bekommen, von der Benutzeroberfläche ist POV ganz einfach. Sobald die App diese Rechte hat, ist es jedoch umständlich, sie zu deinstallieren (der Benutzer muss diese Administratorrechte zuerst widerrufen; andernfalls gibt es bei der Deinstallation keine Informationen darüber, was bei der Deinstallation schief läuft - zumindest bei Ace 2 Android 2.3).

Daher wäre es nützlich, eine Deinstallationsfunktion in der App zu haben - sie würde zuerst die Administratorrechte entziehen und dann der normalen Deinstallation folgen.

Ein anderer Ansatz wäre, benachrichtigt zu werden, App wird deinstalliert, AFAIK ist jedoch nicht möglich - siehe:http://code.google.com/p/android/issues/detail?can=2&q=33315&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&id=33315

Bisher habe ich nur eine Problemumgehung gefunden - um dem Benutzer ein Problem zu ersparen, fügen Sie eine Schaltfläche "Zum Deinstallieren löschen" mit Statusinformationen hinzu, wenn die App zur Deinstallation bereit ist. Dann muss der Benutzer einen weiteren Schritt zur Deinstallation meiner App ausführen. Auf jeden Fall lästig.

Also - wie deinstalliere ich mich selbst?

Lösung

Nur um den Code auf der SO-Site zu behalten:

Uri packageURI = Uri.parse("package:"+MyMainActivity.class.getPackage().getName());
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);
startActivity(uninstallIntent);

Der Code wird von kopiertAndroid Tales Blog.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage