android - LocalBroadcastManager not receiving broadcasts in a Activity -


i using localbroadcastmanager make broadcast activtiy , services using application context , this:

public class commonforapp extends application{     public void broadcastupdateuicommand(string[] updateflags,                 string[] flagvalues) {             intent intent = new intent(update_ui_broadcast);             (int = 0; < updateflags.length; i++) {                 intent.putextra(updateflags[i], flagvalues[i]);             }              mlocalbroadcastmanager = localbroadcastmanager.getinstance(mcontext);             mlocalbroadcastmanager.sendbroadcast(intent);          }} 

now using listener in service, calling broadcastupdateuicommand() ,like this:

public class mservice extends service {     public buildnowplaylistlistlistener buildcursorlistener = new buildnowplaylistlistlistener() {              @override             public void onservicelistready() {     mapp.broadcastupdateuicommand(                         new string[] { commonforapp.init_drawer},                         new string[] {""});              }}} 

and receiving broadcast in activity, this:

public class mactivity extends activity{     broadcastreceiver mreceiver = new broadcastreceiver() {              @override             public void onreceive(context context, intent intent) {            mtoast.showtext("in onreceive"); //toast check                   if (intent.hasextra(commonforapp.init_drawer))                     initialisedrawer();      }};   } 

mapp instance of application. commonforapp application class.

but in activity not receving broadcast(the broadcast manager initialised using application context) .

can suggest me why not receiving broadcast in activity? ..

.thanks in advance !

in activity:

protected broadcastreceiver mmessagereceiver = new broadcastreceiver() {     @override     public void onreceive(context context, final intent intent) {         runonuithread(new runnable() {             @override             public void run() {                 if(intent.hasextra("type")){                     // action                 }             }         });      } };  @override public void oncreate(bundle savedinstancestate, persistablebundle persistentstate) {     super.oncreate(savedinstancestate, persistentstate);     localbroadcastmanager.getinstance(this).registerreceiver(mmessagereceiver,             new intentfilter("data-loaded")); }  protected void ondestroy() {     super.ondestroy();     localbroadcastmanager.getinstance(this).unregisterreceiver(mmessagereceiver); } 

then send broadcast:

public static void sendbroadcastmessagedataloaded(context context, string datatype){     intent intent = new intent("data-loaded");     intent.putextra("type", datatype);     localbroadcastmanager.getinstance(context).sendbroadcast(intent); }