in app broadcast receiver error cause. creating google cloud messaging demo
my logcat
06-03 15:09:37.584: e/broadcastreceiver(15498): broadcastreceiver trying return result during non-ordered broadcast 06-03 15:09:37.584: e/broadcastreceiver(15498): java.lang.runtimeexception: broadcastreceiver trying return result during non-ordered broadcast 06-03 15:09:37.584: e/broadcastreceiver(15498): @ android.content.broadcastreceiver.checksynchronoushint(broadcastreceiver.java:783) 06-03 15:09:37.584: e/broadcastreceiver(15498): @ android.content.broadcastreceiver.setresult(broadcastreceiver.java:658) 06-03 15:09:37.584: e/broadcastreceiver(15498): @ com.google.android.gcm.gcmbroadcastreceiver.onreceive(gcmbroadcastreceiver.java:56) 06-03 15:09:37.584: e/broadcastreceiver(15498): @ android.app.activitythread.handlereceiver(activitythread.java:2609) 06-03 15:09:37.584: e/broadcastreceiver(15498): @ android.app.activitythread.access$1700(activitythread.java:151) 06-03 15:09:37.584: e/broadcastreceiver(15498): @ android.app.activitythread$h.handlemessage(activitythread.java:1380) 06-03 15:09:37.584: e/broadcastreceiver(15498): @ android.os.handler.dispatchmessage(handler.java:102) this broadcast receiver
private final broadcastreceiver mhandlemessagereceiver = new broadcastreceiver() { @override public void onreceive(context context, intent intent) { string newmessage = intent.getextras().getstring(config.extra_message); string newname = intent.getextras().getstring("name"); string newimei = intent.getextras().getstring("imei"); log.i("gcmbroadcast","broadcast called."+newimei); // waking mobile if sleeping acontroller.acquirewakelock(getapplicationcontext()); string msg = lblmessage.gettext().tostring(); msg = newname+" : "+newmessage+"\n"+msg; // display message on screen lblmessage.settext(msg); //lblmessage.append("\n"+newname+" : "+newmessage); toast.maketext(getapplicationcontext(), "got message: " + newmessage, toast.length_long).show(); /************************************/ //customlistviewvaluesarr.clear(); int rowcount = dbadapter.validatenewmessageuserdata(newimei); log.i("gcmbroadcast", "rowcount:"+rowcount); if(rowcount <= 1 ){ final userdata schedspinner = new userdata(); /******* firstly take data in model object ********/ schedspinner.setname(newname); schedspinner.setimei(newimei); /******** take model object in arraylist **********/ customlistviewvaluesarr.add(schedspinner); adapter.notifydatasetchanged(); } //customlistviewvaluesarr.addall(spinneruserdata); /************************************/ // releasing wake lock acontroller.releasewakelock(); } }; please tell me how can resolve error try find out on internet exact can,t find solution.
to begin not expert in android development , in case of broadcast receivers.
i went through code have posted here , beginner brain not find statement sets result. unable identify statement exception hits answer might vague.
according broadcastreceiver documentation running receivers in asynchronous fashion more efficient means recievers cannot use result or abort apis of broadcastreceiver class.
one solution problem using context.sendorderedbroadcast since dealing googlecloudmessages not liberty of handling broadcast sending part.
google cloud messaging broadcasts ordered. it's broadcast received in case non-ordered.
there function isorderedbroadcast() can used workaround can avoid setting result non-ordered broadcast.
Comments
Post a Comment