广播基本使用

简介

利用广播,可以跨组件传递信息;类似 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);