How to send and receive broadcast message How to send and receive broadcast message android android

How to send and receive broadcast message


I was having the same problem as you, but I figured out:

Remove the intent filter from the manifest and change

Intent intent=new Intent(getApplicationContext(),WebResults.class);

for

Intent intent=new Intent();

Hope it helps!


Please use

intent.getStringExtra("");

and

new Intent();

Worked for me.


You can do like this

Intent intent = new Intent("msg");    //action: "msg"intent.setPackage(getPackageName());intent.putExtra("message", message.getBody());getApplicationContext().sendBroadcast(intent);

Then for receiving write something like this (inside Activity)

@Overrideprotected void onResume() {    super.onResume();    mBroadcastReceiver = new BroadcastReceiver(){        @Override        public void onReceive(Context context, Intent intent){           /* Toast.makeText(context, "Message is: "+ intent.getStringExtra("message"), Toast.LENGTH_LONG)                    .show();*/            String action = intent.getAction();            switch (action){                case "msg":                    String mess = intent.getStringExtra("message");                    txt.setText(mess);                    break;            }        }    };    IntentFilter filter = new IntentFilter("msg");    registerReceiver(mBroadcastReceiver,filter);}@Overrideprotected void onPause() {    super.onPause();    unregisterReceiver(mBroadcastReceiver);}