您的位置:首页 > 其它

Fragment使用LocalBroadcastManager接收广播消息

2016-12-05 20:29 357 查看
这种方式不用在配置文件加东西

变量声明

[java] view plain copy

LocalBroadcastManager broadcastManager;

IntentFilter intentFilter;

BroadcastReceiver mReceiver;

广播注册,可以写在Activity(onCreate),也可以写在Fragment(onActivityCreated)里。

[java] view plain copy

broadcastManager = LocalBroadcastManager.getInstance(getActivity());

intentFilter = new IntentFilter();

intentFilter.addAction("android.intent.action.CART_BROADCAST");

mReceiver = new BroadcastReceiver() {

@Override

public void onReceive(Context context, Intent intent){

//收到广播后所作的操作

}

};

broadcastManager.registerReceiver(mReceiver, intentFilter);

发送广播

[java] view plain copy

Intent intent = new Intent("android.intent.action.CART_BROADCAST");

LocalBroadcastManager.getInstance(getActivity()).sendBroadcast(intent);

当然,和正常广播一样,也要在对应的生命周期中反注册掉:

[java] view plain copy

@Override

protected void onDestroy() {

super.onDestroy();

broadcastManager.unregisterReceiver(mReceiver);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: