我正在使用 Parse Android SDK,我的注册活动中有两个注册选项。推特注册和脸书注册。
这就是问题所在:如果我使用 facebook 注册,然后注销,然后再次使用 twitter 注册,而不是将新的 twitter 解析用户链接到旧的 facebook 解析用户,它会创建一个新用户,即使 facebook 和 twitter 中使用的电子邮件都是相同的。
我想要实现的是检查是否存在具有相同电子邮件的用户,如果不存在则创建新用户,如果他确实存在,则将注册方法(facebook 或 twitter)与现有的解析用户链接。
任何帮助将不胜感激。谢谢
private void loginWithTwitter() {
signUpProgressDialog.show();
ParseTwitterUtils.logIn(this, new LogInCallback() {
@Override
public void done(ParseUser user, ParseException e) {
signUpProgressDialog.dismiss();
if(e==null) {
if (user == null) {
Log.d(TAG, "Uh oh. The user cancelled the Twitter login.");
} else if (user.isNew()) {
Log.d(TAG, "User signed up and logged in through Twitter!");
startAppropriateActivity("TWITTER_NEW");
} else {
Log.d(TAG, "User logged in through Twitter!");
startAppropriateActivity("TWITTER_OLD");
}
}else Log.d(TAG,"Twitter Parse Error");
}
});
}
private void loginWithFacebook() {
signUpProgressDialog.show();
List<String> permissions = Arrays.asList("public_profile", "email");
ParseFacebookUtils.logIn(permissions, this, new LogInCallback() {
@Override
public void done(ParseUser user, ParseException e) {
signUpProgressDialog.dismiss();
if(e==null) {
if (user == null) {
Log.d(TAG, "Uh oh. The user cancelled the Facebook login.");
} else if (user.isNew()) {
Log.d(TAG, "User signed up and logged in through Facebook!");
startAppropriateActivity("FACEBOOK_NEW");
} else {
Log.d(TAG, "User logged in through Facebook!");
startAppropriateActivity("FACEBOOK_OLD");
}
}else Log.d(TAG,"Facebook Parse Error");
}
});
}