O truque é muito simples, não feche o banco de dados apenas redefina o
DBHelper
. Portanto, o método de reabertura pode ser:-
public static void reopen(Context context) {
instance = new DBHelper(context);
}
Claro, você também pode acabar com o texto dizendo ao usuário para fechar e reiniciar o aplicativo.
Portanto, o código que detecta e relata uma restauração bem-sucedida pode ser:-
if(copytaken && origdeleted && restoredone) {
errlist.add("Database successfully restored.");
resulttitle = "Restore was successful.";
DBHelper.reopen(context); <== implemented as below
}