以下是该方案:
ParseUser.enableAutomaticUser()
Todo todo = new Todo();
todo.setUuidString();
todo.setTitle("test");
todo.pinInBackground();
无法为具有空ID
的用户设置setReadAccess即使一个解决方法可能是在关闭应用程序之前的某个时刻注册自动用户,这几乎不是应该脱机工作的自动用户点,但无法保证应用程序之前不会关闭我们在注册过程中。
保存用户以获取ID也不是一个选项:不仅是在线操作,您不应该在用户上调用save()。根据文件,它应该是注册()。
即使在创建其他对象之前固定当前用户也无法解决问题。
答案 0 :(得分:1)
不确定您是否为此找到了解决方案,但我认为这应该有效:在应用启动时,启用自动用户创建时:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// ...
if (ParseUser.getCurrentUser()==null) {
ParseUser.enableAutomaticUser();
ParseUser.getCurrentUser().saveInBackground();
}
// ...
}
}
这将(a)确保您始终拥有当前用户,以及(b)如果是匿名用户,用户将通过应用程序重新启动来保持。
注1:saveInBackground()实际上并未将用户保存到服务器,因为用户没有用户名/密码,但会保留用户。 注2:我还没有完全测试过,但它应该可以解决你的问题。