我正在使用Parse SDK 1.13.1 for Android,我需要在点击按钮时注销用户。它正在工作,但当我调用ParseUser.getCurrentUser()时,它会给我最后一个登录用户而不是null。
对于Parse Initialize,我写下面的代码:
Parse.initialize(new Parse.Configuration.Builder(this).applicationId("PARSE_APPLICATIONID").clientKey("PARSE_CLIENT_KEY").server("PARSE_SERVER_URL").build());
对于注销我写下面的代码
ParseUser.logOut();
并尝试了
ParseUser.getCurrentUser().logOut();
ParseUser currentUser = ParseUser.getCurrentUser(); // this should be null but not
但是,似乎ParseUser.getCurrentUser();注销后不为空。
如何从缓存中删除当前用户?
请帮我解决这个问题。感谢
答案 0 :(得分:0)
每当您使用任何注册或登录方法时,用户都会缓存在磁盘上。您可以将此缓存视为会话,并自动假定用户已登录。
ParseUser currentUser = ParseUser.getCurrentUser();
if (currentUser != null) {
// do stuff with the user
} else {
// show the signup or login screen
}
您可以通过注销来清除当前用户。
ParseUser.logOut();
ParseUser currentUser = ParseUser.getCurrentUser(); // this will now be null
确保您已正确设置所有功能,并且不再对用户进行身份验证等。
如果启用了自动用户创建,则注销然后获取当前用户将生成新的匿名用户。这在启动器项目中默认启用,以便您可以立即开始使用用户和ACL。
如果您[PFUser enableAutomaticUser];
当前用户中设置的appDelegate,
永远不会返回nill
答案 1 :(得分:0)
请查看以下内容:
public static Task<Void> logOutInBackground()
或
public static void logOutInBackground(LogOutCallback callback)
使用ParseUser的方法如下所示:
ParseUser.logOutInBackground();
或
ParseUser.logOutInBackground(new LogOutCallback )
希望它能奏效......