所以这很奇怪。我让我的应用程序正常使用pinInBackground在本地保存对象,然后远程使用saveEventually。然后我决定添加ACL和匿名用户,并且saveEventually停止远程推送我的对象。在100%的情况下,即使有完整的wifi连接,我的对象也不再被保存到Parse。我添加了一个SaveCallback,它永远不会被调用。
final Person p = new Person(firstName, lastName, dateTime, phoneNumber); p.pinInBackground(new SaveCallback() { @Override public void done(ParseException e) { if (e == null) { Log.d("AddPerson", "Saved locally, attempting to store remotely...."); p.saveEventually(new SaveCallback() { @Override public void done(ParseException e) { if (e==null) { Log.d("AddPerson", "Saved remotely, all done."); } else { Log.d("AddPerson", e.getMessage()); } } }); } else { Log.d("AddPerson", e.getMessage()); } } });
消息"远程保存"永远不会被调用,也不会使用数据浏览器显示对象。如果我将saveEventually更改为saveInBackground(),一切正常,并远程保存。
我的ACL代码是匿名用户:
ParseACL.setDefaultACL(new ParseACL(), true);
ParseAnonymousUtils.logIn(new LogInCallback() {
@Override
public void done(ParseUser user, ParseException e) {
if (e != null) {
Log.d("Main", "Anonymous login failed.");
} else {
Log.d("Main", "Anonymous user logged in: " + ParseUser.getCurrentUser().getObjectId());
}
}
});
我做错了什么?