简单 注册广播和接收广播
2016-05-20 20:26
288 查看
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);
}
}
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);
}
}
相关文章推荐
- 两次DFS,POJ(1481)
- Effective cpp 读书笔记10
- 【BZOJ-3696】化合物 树形DP + 母函数(什么鬼)
- hdu1827 Summer Holiday(Tarjan缩点+贪心)
- 待办
- 索尼Z2强刷固件教程
- SDOI2016 平凡的骰子
- MySQL入门——创建表的时候给枚举类型的字段赋默认值
- Java设计模式之单例设计模式
- TCP和UDP数据包结构
- git如何更新fork的repository
- 读取excel文件的Java处理
- 筋斗云开发技术栈
- Python中pydoc命令在windows下不能使用的解决办法
- Android开发发布lib到jcenter
- Gym 100935E Pairs
- R语言 数据集成
- 限界深搜——埃及分数 两种剪枝
- iOS开发-SVN管理代码
- 按两次返回键退出程序