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);}