BroadcastReceiver not receiving broadcast from IntentService in Android -
i'm sending progress value int progress = 10 via broadcast intentservice display progress of uploading file.
protected void onhandleintent(intent intent) { broadcastintent = new intent(); broadcastintent.setaction(sendlist.mreceiver.test); try { broadcastintent.putextra("count",marraylist.size()); [...uploading data...] (int = 0; < marraylist.size(); i++) { broadcastintent.putextra("progress", i); sendbroadcast(broadcastintent); //... } } so in activity register receiver never called.
public class sendlist extends activity { textview textresult; progressbar progressbar; boolean misreceiverregistered = false; broadcastreceiver receiver; @override protected void oncreate(bundle bundle) { super.oncreate(bundle); setcontentview(r.layout.sendlist); textresult= (textview)findviewbyid(r.id.maxfragments); progressbar = (progressbar) findviewbyid(r.id.progressbar); } @override public void onresume() { super.onresume(); if(!misreceiverregistered) { if (receiver == null) receiver = new fragmentreceiver(); registerreceiver(receiver,new intentfilter(mreceiver.test)); misreceiverregistered = true; } } @override public void onpause() { super.onpause(); if(misreceiverregistered) { unregisterreceiver(receiver); receiver = null; misreceiverregistered = false; } } private void updateui (intent intent) { progressbar.setprogress(intent.getintextra("progress", 0)); } public class mreceiver extends broadcastreceiver { public static final string test = "upload"; @override public void onreceive(context context, intent intent) { int count = intent.getintextra("count",0); progressbar.setmax(count); textresult.settext(count); updateui(intent); } } where problem? doing wrong? have forgotten something?
thanks help!
kind regards!
try register receiver below -
intentfilter filter = new intentfilter(); filter.addaction(sendlist.mreceiver.test); registerreceiver(receiver,filter);
Comments
Post a Comment