Application A sends a broadcast:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void sendBro(View view) {
Intent intent = new Intent("广播A");
intent.putExtra("name","小明");
sendBroadcast(intent);
}
}
Application B receives the broadcast:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final IntentFilter filter = new IntentFilter();
filter.addAction("广播A");
BroadcastReceiver mAReceiver = new BroadcastReceiver() {
@Override
public void onReceive(final Context context, final Intent intent) {
String action = intent.getAction();
String msg = intent.getStringExtra("name");
Log.d("xxx", "应用B收到:" + action + ",name:" + msg);
}
};
registerReceiver(mAReceiver, filter);
}
}
Both applications A and B are installed, and two broadcasts are sent, see the log:
It's that simple!