parse open fcm docs community back4app android parse.com acl

android - open - parse push notifications



Error de SetReadAccess para el nuevo ParseObject (2)

Debe asegurarse de guardar el usuario actual.

// 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);

No del todo seguro acerca de mi sintaxis, solo lo hice en Swift.

Tengo el siguiente código en mi clase de aplicación de una aplicación de 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);

Esto parece funcionar muy bien cada vez que tengo una nueva instalación de mi aplicación y creo nuevos objetos de Resultados. Ahora, si actualizo mi aplicación a través de Play Store o la instalo a través de Android Studio, aparece el siguiente error cada vez que se crean nuevos objetos Results, o cualquier otro ParseObject o subclase del mismo:

java.lang.IllegalArgumentException: cannot setReadAccess for a user with null id

¿Es esto un error con Parse? Obtengo los mismos resultados con el ejemplo Todo fuera de línea.


elimine la aplicación del dispositivo e instálela nuevamente. deberia de funcionar.

He aquí mi arreglo

//Parser App Crash Report ParseCrashReporting.enable(this); //THIS is to test only => throw new RuntimeException("Test Exception!"); // Enable Local Datastore. Parse.enableLocalDatastore(this); // Initialise Parse.initialize(this, PARSE_APP_ID, PARSE_CLIENT_KEY); ParseUser.enableAutomaticUser(); ParseUser.getCurrentUser().saveInBackground(); ParseACL defaultACL = new ParseACL(); // If you would like all objects to be private by default, remove this line. defaultACL.setPublicReadAccess(true); ParseACL.setDefaultACL(defaultACL, true);

luego prueba con:

ParseObject testObject = new ParseObject("TestObject"); testObject.put("foo", "bar"); testObject.put("2", "2"); testObject.put("3", "3"); testObject.saveInBackground();