I found a solution like
First of all, I referred to the Refresh / Reload database link in the custom ContentProvider after recovery , but was not satisfied with the answer because it was just for closing the database.
So, I created my answer as shown below:
DBHelper.java
public static void reCreateDatabase(Context mContext) { ContentResolver resolver = mContext.getContentResolver(); ContentProviderClient client = resolver.acquireContentProviderClient(KOOPSContentProvider.AUTHORITY); assert client != null; KOOPSContentProvider provider = (KOOPSContentProvider) client.getLocalContentProvider(); assert provider != null; provider.resetDatabase(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) client.close(); else client.release(); LOGD("Database Deleted..."); } public void removeDatabase(Context mContext) { mContext.deleteDatabase(DATABASE_NAME); LOGD("Database Deleted..."); }
KOOPSContentProvider.java
public void resetDatabase() { if(dbHelper != null) { dbHelper.removeDatabase(getContext()); dbHelper = new DbHelper(getContext()); } else { LOGD("Database NULL"); } }
USE As:
DbHelper.reCreateDatabase(mContext);
Thanks:):)
Pratik butani
source share