Wie andere Antworten angegeben, sollten Sie lieber die onUpate() - Methode für eine einwandfreie Benutzererfahrung überschreiben. Neuinstallation und Aufräumen ist gut ... etwas wie 1980 Stil für mich und die Art, wie Android entworfen wird, bezweifle ich kaum, dass es unterstützt wird.
So, um die ursprüngliche Frage zu beantworten nein, ich glaube nicht, dass es möglich ist, Anwendungen über andere Anwendungen zu verwalten. Obwohl mein Mangel an Wissen über Methoden, die diese Aufgabe ausführen, kein Beweis ist, denke ich, dass es mehr eine Frage der zugrunde liegenden Struktur ist.
Android ist ein Unix-basiertes System und jede Anwendung wird als Benutzer in diesem System registriert. Die Benutzerrechte sind in dieser Umgebung sehr gut eingestellt, was bedeutet, dass ein anderer Benutzer (Anwendung) nicht einfach auf Daten anderer Anwendungen zugreifen kann und daher den Code injiziert/entführt/optimiert. Eine Ausnahme ist z.B. externer Speicher wie SD-Karten. Hier kann jede Anwendung mit den richtigen Berechtigungen beliebig herum trollen.
Doch zurück auf dem eigentlichen System gibt es einige Möglichkeiten, Anwendungen für den Zugriff auf fremde Pakete zu gewähren. Nach dem, was ich gelesen habe, scheint es eher so zu sein, dass es bestimmte Informationen und Einstellungen teilen kann. Ich bezweifle, dass dort eine Deinstallationsroutine gefunden wird.
Kurz vor dem Ende dachte ich über die Idee, dass Ihre neue Anwendung die ältere Version bitten könnte, sich selbst zu entfernen und nicht zu starten, es sei denn, es ist getan. Für diesen Ansatz finden Sie hier vielleicht mehr Informationen. Is it possible to programmatically uninstall a package in Android
Nichtsdestotrotz empfehle ich Ihnen auch die onUpdate() Lösung, da es die Art ist, wie das System entworfen wurde und daher die Erfahrung für den Benutzer viel zufriedenstellender und weniger komplex ist.
ich benutze greenDAO, dort habe ich eine Option, die Schemaversion zu erhöhen. hoffentlich wird das nur auf magische Weise funktionieren. Probier es mal aus, da die App sowieso in der Beta ist. –
dies ist die beste Praxis und die Datenbank-Versionsnummer gibt es aus einem Grund, also sollten Sie es verwenden und folgen convention, viel Glück. – EdChum