Backendless.Messaging.registerDeviceOnServer() not working

I’ve tried to register some Android device on server with method registerDeviceOnServer() but I’m getting the following error: “error” -> “BackendlessException{ code: ‘Server.Processing’, message: ‘unable to adapt parameter to a method argument type. unable to adapt string to class com.backendless.datamodel.enums.OperatingSystem. String value - Windows 10’ }”

My scenario would bo something like that; each device has its own channel for push notifications:

  • Device A sends join request to device B (device A would like to subscribe to push messages of device’s B channel)
  • After device B approves join request I call backendless business logic Backendless.Events.dispatch(“approveJoinRequest”)
  • In business logic after I join A to B via Group and User table (look at the code) I would like to register A to push messages of B’s channel
 PushObject pushObject = convertToPushObject((HashMap<String, Object>) eventArgs.get(KEY_PUSH_OBJECT));
 try {
 BackendlessUser user = Backendless.UserService.findById(pushObject.getSenderId());
 // Remove applicant from his current Group... 
 // ...and join him to new Group 
 GroupEventHandler.joinToGroup(user, pushObject.getGroupToJoin());
 List<String> channels = new ArrayList<String>();
 String channel = "ch"+pushObject.getGroupToJoin();
 // Register applicant to new channel 
 String deviceToken = pushObject.getSendersDeviceToken();
 Backendless.Messaging.registerDeviceOnServer(deviceToken, channels, 4000000000000L); // Tuesday, October 2, 2096 7:06:40 AM UTC);
 } catch (Exception e) {
 args.put(KEY_ERROR, e.toString());

So, is this even possible because according to mentioned error it seems that isn’t (yes, I’m aware that I’m running CodeRunner from Windows 10 OS).


Are you trying to register CodeRunner as a device to receive push notifications?