我知道如何登录:
ParseTwitterUtils.logIn(loginView.getCurrentContext(), new LogInCallback() {
@Override
public void done(ParseUser parseUser, ParseException e) {
if (e == null) {
String welcomeMessage = "";
if (parseUser.isNew()) {
welcomeMessage = "Hello new guy!";
} else {
welcomeMessage = "Welcome back!";
}
loginView.showLoginSuccess(parseUser, welcomeMessage);
} else {
String errorMessage = "Seems we have a problem : " + e.getLocalizedMessage();
loginView.showLoginFail(errorMessage);
}
}
});
退出:
ParseUser.logOutInBackground(new LogOutCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
homeView.goLogin(true, "See you soon");
} else {
homeView.goLogin(false, "Error detected : " + e.getLocalizedMessage());
}
}
});
但是当我想再次登录时,我没有要求我选择帐户的警告对话框(我使用webview,因为模拟器上没有安装Twitter应用程序)。
如何使用Twitter登录真正从Parse注销?
答案 0 :(得分:0)
使用ParseTwitterUtils中的unlink函数: https://parse.com/docs/android/api/com/parse/ParseTwitterUtils.html#unlink(com.parse.ParseUser)
这将删除Twitter帐户和解析用户之间的链接。
混淆似乎源于api如此简单的事实。
您在登录时所做的是将Twitter帐户与解析用户相关联,并以该解析用户身份登录。然后,当您注销时,您只是退出解析用户,并且Twitter帐户仍然链接到解析用户。因此,当您再次登录时,它会自动使用Twitter帐户以解析用户身份登录。
答案 1 :(得分:0)
在iOS中,您可以在PFOauth1FlowDialog.m中修改Parse的源代码
- (void)loadURL:(NSURL *)url queryParameters:(NSDictionary *)parameters {
NSMutableDictionary *_parameter = [[NSMutableDictionary alloc] init];
[_parameter setObject:@"true" forKey:@"force_login"];
[_parameter addEntriesFromDictionary:parameters];
_loadingURL = [[self class] _urlFromBaseURL:url queryParameters:_parameter];
NSURLRequest *request = [NSURLRequest requestWithURL:_loadingURL];
[_webView loadRequest:request];
}
然后一切都应该正常工作,这也适用于Android。