新ParseObject的SetReadAccess错误

Zac*_*Zac 3 android acl parse-platform

我在我的Android应用程序的应用程序类中放置了以下代码:

// Register ParseObject subclasses
ParseObject.registerSubclass(Results.class);

// Set up Parse
Parse.enableLocalDatastore(MyApplication.this);
Parse.initialize(MyApplication.this, PARSE_APP_KEY, PARSE_CLIENT_KEY);
ParseUser.enableAutomaticUser();
ParseACL defaultACL = new ParseACL();
ParseACL.setDefaultACL(defaultACL, true);
Run Code Online (Sandbox Code Playgroud)

每当我全新安装我的应用程序并创建新的结果对象时,这似乎都很有效.现在,如果我通过Play商店更新我的应用程序,或通过Android Studio安装它,每当创建新的Results对象或任何其他ParseObject或其子类时,我都会收到以下错误:

java.lang.IllegalArgumentException: cannot setReadAccess for a user with null id
Run Code Online (Sandbox Code Playgroud)

这是Parse的错误吗?我使用Offline Todo示例获得了相同的结果.

Deh*_*hli 6

您需要确保保存当前用户.

// Register ParseObject subclasses
ParseObject.registerSubclass(Results.class);

// Set up Parse
Parse.enableLocalDatastore(MyApplication.this);
Parse.initialize(MyApplication.this, PARSE_APP_KEY, PARSE_CLIENT_KEY);
ParseUser.enableAutomaticUser();
ParseUser.getCurrentUser().saveInBackground(); // <--- This Line
ParseACL defaultACL = new ParseACL();
ParseACL.setDefaultACL(defaultACL, true);
Run Code Online (Sandbox Code Playgroud)

我不完全确定我的语法,我只在Swift中完成.