您的位置:首页 > 其它

安卓fragment内部注册监听broadcastreceiver

2015-11-05 11:26 323 查看
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">1.首先在fragment的oncreate方法中注册监听</span>


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
IntentFilter intentFilter1 = new IntentFilter();
intentFilter1.addAction("com.text.xxxreceiver");
sensorInfoReceiver = new SensorInfoReceiver();
getActivity().registerReceiver(sensorInfoReceiver, intentFilter1);
}


2.在fragment中重写一个BroadcastReceiver内部类

class SensorInfoReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(<span style="font-family: Arial, Helvetica, sans-serif;">"com.text.xxxreceiver"</span>)) {
Bundle bundle = intent.getExtras();//获取数据
}
}
}


3.在其他类中(我是在service)发送广播

Intent intent = new Intent(<span style="font-family: Arial, Helvetica, sans-serif;">"com.text.xxxreceiver"</span>);
Bundle bundle = new Bundle();
bundle.putByteArray("data", buffer);//我这传递的是数组,传其他数据也没问题,自己定义
intent.putExtras(bundle);
getApplicationContext().sendBroadcast(intent);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: