我正在使用 contentprovider,以及共享首选项上的 3 个变量,我想知道如何最好地“注销用户”..
我希望它会截断数据库,并清除/删除共享首选项变量..
目前我正在清除共享首选项,并删除数据库,然后将用户带回登录屏幕。
SharedPreferences app_preferences = PreferenceManager
.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = app_preferences.edit();
// wipe user specific data
editor.remove("authenticated_user_id");
editor.remove("api_key");
editor.remove("last_sync_updates");
editor.commit();
// TODO possibly truncate rather than delete
// the apps database
getApplicationContext().deleteDatabase(
DatabaseConstants.DATABASE_NAME);
// send the user to the login screen
Intent logoutIntent = new Intent(this, SplashActivity.class);
startActivity(logoutIntent);
但它似乎没有清除数据库,并且在注销后的第一个事务中随机出现数据库访问错误..
这通常是如何完成的?