您的位置:首页 > 移动开发 > Android开发

android 广播实现activity之间的通讯

2016-01-07 17:06 441 查看
使用广播实现activity之间的通讯,广播携带数据,目标activity动态注册广播接收器,处理数据,使用handle发送消息,通知主线程更新界面!

1、发送广播:
//发送广播,通知最新列表更新
Intent intent = new Intent();
intent.putExtra("username", username);
//Action:自己定义
intent.setAction(".....");
sendOrderedBroadcast(intent, null);
2、定义广播接受者:
/**
* 广播接收
*/
private BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals("....")) {//<span style="font-family: 宋体;">"....":自己定义的action</span>
String username=intent.getStringExtra("username");
upMsgList(username);//更新数据列
mHandler.sendEmptyMessage(NEW_RECENT);
}
}
};
3、注册广播接受者,进行过滤:
//注册广播
IntentFilter filter = new IntentFilter();
filter.addAction(".....");
getContext().registerReceiver(mReceiver, filter);
4、定义handler处理更新界面:
//处理
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case NEW_RECENT:
mAdapter.notifyDataSetChanged();//处理界面更新
break;
case NEW_NULL:
break;
default:
break;
}
}
};
OK了,就是这样子咯!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: