我有一个简单的问题。我正在尝试在我的应用程序中启用自动用户创建,这样当您第一次打开它时,就会创建一个且只有一个用户。我彻底阅读了用户文档,发现Parse将用户会话保留在磁盘上,并且一旦将对象保存到该用户,该用户就会保存在云端。但是,我注意到了两个问题:
1)当我保存对象并创建指向所有者用户的指针时,云上不存在用户对象。
2)如果我检查当前用户是否使用ParseAnonUtils.isLinked()进行链接,则有时会返回true,因为当前用户已链接,或者为false,因为当前用户未链接,因此相同在会话中缓存的ParseUser。
以下是我用来创建和确定用户的方法:
private void getUser() {
if (!ParseAnonymousUtils.isLinked(ParseUser.getCurrentUser())) {
Log.v("Miles", "new user");
ParseAnonymousUtils.logIn(new LogInCallback() {
@Override
public void done(final ParseUser user, ParseException e) {
if (e == null) {
user.setUsername(UUID.randomUUID().toString());
user.setPassword(UUID.randomUUID().toString());
user.signUpInBackground(new SignUpCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
user.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
Log.v("Miles", "user saved");
} else {
Log.v("Miles", "user not saved " + String.valueOf(e.getCode()));
}
}
});
} else {
Log.v("Miles", "signup fail " + String.valueOf(e.getCode()));
}
}
});
} else {
Log.v("Miles", "anon login fail " + String.valueOf(e.getCode()));
}
}
});
}
}
非常感谢帮助。