Der Trick ist sehr einfach, schließen Sie nicht die Datenbank, sondern setzen Sie den DBHelper
zurück .
Die Wiedereröffnungsmethode könnte also lauten:-
public static void reopen(Context context) {
instance = new DBHelper(context);
}
Natürlich könnten Sie auch auf den Text verzichten, der den Benutzer auffordert, die App zu schließen und neu zu starten.
Der Code, der eine erfolgreiche Wiederherstellung erkennt und darüber berichtet, könnte also folgendermaßen aussehen:-
if(copytaken && origdeleted && restoredone) {
errlist.add("Database successfully restored.");
resulttitle = "Restore was successful.";
DBHelper.reopen(context); <== implemented as below
}