Contentprovider Not Called Oncreate After Deleting Database
I have created ContentProvider which creates one Database on application launching. Now In that application, I am doing process of deleting database when user logout from app. Afte
Solution 1:
I found solution as,
First of all I referred Refresh/Reload database reference in custom ContentProvider after restore but not satisfied with answer because its just for closing database.
So I have created my answer as below:
DBHelper.java
/**
* Delete database
*/publicstaticvoidreCreateDatabase(Context mContext) {
ContentResolverresolver= mContext.getContentResolver();
ContentProviderClientclient= resolver.acquireContentProviderClient(KOOPSContentProvider.AUTHORITY);
assert client != null;
KOOPSContentProviderprovider= (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...");
}
publicvoidremoveDatabase(Context mContext) {
mContext.deleteDatabase(DATABASE_NAME);
LOGD("Database Deleted...");
}
KOOPSContentProvider.java
publicvoidresetDatabase() {
if(dbHelper != null) {
dbHelper.removeDatabase(getContext());
dbHelper = new DbHelper(getContext());
} else {
LOGD("Database NULL");
}
}
USE As:
DbHelper.reCreateDatabase(mContext);
Thank you :) :)
Post a Comment for "Contentprovider Not Called Oncreate After Deleting Database"