MainActivity{
Mybroadcast mbroadcast;
Button button,button2,button3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//注册广播
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.Mybrocat1");
intentFilter.addAction("com.Mybrocat2");
mbroadcast=new Mybroadcast(); //实例化处理广播类
registerReceiver(mbroadcast, intentFilter); //注册接受者
下面广播发布者可以在其他类:
button2= (Button) findViewById(R.id.button2);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent in=new Intent("com.Mybrocat1");
in.putExtra("name","我是第一条广播");
sendBroadcast(in);
}
});
button3= (Button) findViewById(R.id.button3);
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent in=new Intent("com.Mybrocat2");
in.putExtra("name","我是第2条广播");
sendBroadcast(in);
}
});
}
protected class Mybroadcast extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action!=null && action.equals("com.Mybrocat1")){
String name = intent.getStringExtra("name");
Toast.makeText(MainActivity.this,"收到的第一条广播"+name,Toast.LENGTH_SHORT).show();
}else if (action!=null && action.equals("com.Mybrocat2")){
String name = intent.getStringExtra("name");
Toast.makeText(MainActivity.this,"收到的第二条广播"+name,Toast.LENGTH_SHORT).show();
}
}
}
注销广播
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(mbroadcast);
}
}