简介
利用广播,可以跨组件传递信息;类似 EventBus 。
发送广播
private LocalBroadcastManager mLocalBroadcastManager;
public final static String ACTION_TYPE_UPDATE = "action.type.update";
//初始化
mLocalBroadcastManager = LocalBroadcastManager.getInstance(this);
//发送广播
//定义动作
Intent intent = new Intent(ACTION_TYPE_UPDATE);
intent.putExtra(STATUS, STATUS_NO_NET);
mLocalBroadcastManager.sendBroadcast(intent);
接受广播
private LocalBroadcastManager mLocalBroadcastManager;
private MyBroadcastReceiver mBroadcastReceiver;
/**
* 注册广播
*/
private void register() {
mLocalBroadcastManager = LocalBroadcastManager.getInstance(mActivity);
mBroadcastReceiver = new MyBroadcastReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(DownService.ACTION_TYPE_UPDATE);
mLocalBroadcastManager.registerReceiver(mBroadcastReceiver, intentFilter);
}
/**
*接受广播
*/
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
switch (intent.getAction()) {
case DownService.ACTION_TYPE_UPDATE:
break;
default:
break;
}
}
}
/**
* 注销
*/
mLocalBroadcastManager.unregisterReceiver(mBroadcastReceiver);