说到Android的广播,分为动态广播和静态广播两种。这篇文章主要讲解下Android的动态广播。广播的作用主要是根据数据的变化及时刷新UI效果。现如今由于EventBus的出现很少使用广播了,但学习还是有必要的 。
动态广播的步骤
1 .自定义广播继承BroadcastReceiver 实现OnReceiver方法 方法主要是对UI进行刷新的操作 ,方法中有两个参数上下文context 和intent,这里主要是对intent进行筛选intent.getAction
2.注册广播registerReceiver(myReceiver) 一般是在onCreate注册 ,当Activity或者Fragment销毁的时候应该销毁该广播u'ngisterReceiver(myReceiver)
3.sendReceiver(intent)改变数据的操作
实例:
以我们项目中的PersonPickerReceiver为例来讲解下
第一步:
private class PersonPickerRecevierextends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String action = intent.getAction();
if (action.equals("android.guestcount.choice.action")) {
//数据处理逻辑
}else if (action.equals("android.setStatus.action")) {
//数据处理逻辑
}
}
第二步:注册广播 IntentFilter过滤
IntentFilter filter =new IntentFilter();
filter.addAction("android.guestcount.choice.action");
filter.addAction("android.setStatus.action");
registerReceiver(recevier, filter);
销毁广播
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(recevier);
}
第三步:数据改变的操作
Intent intent =new Intent();
intent.setAction("android.guestcount.choice.action");
context.sendBroadcast(intent);
网友评论