Трикът е много прост, не затваряйте базата данни, просто нулирайте DBHelper
.
Така че методът за повторно отваряне може да бъде:-
public static void reopen(Context context) {
instance = new DBHelper(context);
}
Разбира се, можете също да премахнете текста, който казва на потребителя да затвори и рестартира приложението.
Така че кодът, който открива и докладва за успешно възстановяване, може да бъде:-
if(copytaken && origdeleted && restoredone) {
errlist.add("Database successfully restored.");
resulttitle = "Restore was successful.";
DBHelper.reopen(context); <== implemented as below
}