push notification - Android : Error com.parse.ParseException: at least one ID field (installationId,deviceToken) must be specified in this operation -
i using parse push-notification in our application problem in registration of device, error shown below. there problem ,when send push notification device more 1 notification received device. although have upgraded parse library parse 1.4.1.please me,thanks in advance.
error shown when app first time installed:
04-14 14:00:40.004: e/log(26045): socket event: onconnect 04-14 14:00:41.874: e/parsecommandcache(26045): failed run command. 04-14 14:00:41.874: e/parsecommandcache(26045): com.parse.parseexception: @ least 1 id field (installationid,devicetoken) must specified in operation 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.parsecommand$2.then(parsecommand.java:348) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$10.run(task.java:452) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$1.execute(task.java:68) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task.completeimmediately(task.java:448) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task.continuewith(task.java:322) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task.continuewith(task.java:333) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$8.then(task.java:385) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$8.then(task.java:377) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$11.run(task.java:485) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$1.execute(task.java:68) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task.completeaftertask(task.java:481) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task.access$300(task.java:18) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$7.then(task.java:350) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$7.then(task.java:347) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task.runcontinuations(task.java:514) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task.access$700(task.java:18) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$taskcompletionsource.trysetresult(task.java:569) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$taskcompletionsource.setresult(task.java:603) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$11$1.then(task.java:497) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$11$1.then(task.java:489) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$10.run(task.java:452) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$1.execute(task.java:68) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task.completeimmediately(task.java:448) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task.access$200(task.java:18) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$6.then(task.java:315) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$6.then(task.java:312) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task.runcontinuations(task.java:514) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task.access$700(task.java:18) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$taskcompletionsource.trysetresult(task.java:569) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$taskcompletionsource.setresult(task.java:603) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$11$1.then(task.java:497) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$11$1.then(task.java:489) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$10.run(task.java:452) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$1.execute(task.java:68) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task.completeimmediately(task.java:448) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task.continuewith(task.java:322) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task.continuewith(task.java:333) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$11.run(task.java:489) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$1.execute(task.java:68) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task.completeaftertask(task.java:481) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task.access$300(task.java:18) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$7.then(task.java:350) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$7.then(task.java:347) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task.runcontinuations(task.java:514) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task.access$700(task.java:18) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$taskcompletionsource.trysetresult(task.java:569) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$taskcompletionsource.setresult(task.java:603) 04-14 14:00:41.874: e/parsecommandcache(26045): @ com.parse.task$3.run(task.java:228) 04-14 14:00:41.874: e/parsecommandcache(26045): @ java.util.concurrent.executors$runnableadapter.call(executors.java:422) 04-14 14:00:41.874: e/parsecommandcache(26045): @ java.util.concurrent.futuretask.run(futuretask.java:237) 04-14 14:00:41.874: e/parsecommandcache(26045): @ java.util.concurrent.scheduledthreadpoolexecutor$scheduledfuturetask.access$201(scheduledthreadpoolexecutor.java:152) 04-14 14:00:41.874: e/parsecommandcache(26045): @ java.util.concurrent.scheduledthreadpoolexecutor$scheduledfuturetask.run(scheduledthreadpoolexecutor.java:265) 04-14 14:00:41.874: e/parsecommandcache(26045): @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1112) 04-14 14:00:41.874: e/parsecommandcache(26045): @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:587) 04-14 14:00:41.874: e/parsecommandcache(26045): @ java.lang.thread.run(thread.java:841)
updated code
parse.initialize(this, constant.parse_app_id, constant.parse_client_key); parseacl defaultacl = new parseacl(); defaultacl.setpublicreadaccess(true); parseacl.setdefaultacl(defaultacl, true); pushservice.setdefaultpushcallback(this, mainactivity.class); parseinstallation.getcurrentinstallation().getinstallationid(); parseinstallation.getcurrentinstallation().saveinbackground();
this code used registration on parse.com
pushservice.subscribe(this, "name",detail.class);
this code used registration of chanels
we had similar issue:
we had move the: pushservice.setdefaultpushcallback(this, mainactivity.class);
into mainactivity#oncreate
, tried calling in our application class cashed.
parse unhelpful on matter, 1 of them , provide insight.
Comments
Post a Comment