安卓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);
相关文章推荐
- Linux测量kernel子模块加载时间的方法
- ASP.NET MVC 4中如何为不同的浏览器自适应布局和视图
- java-Druid连接池简单配置
- 【转载】trash-cli使用说明
- iOS -- 注释规范附统一代码块
- 《大道至简》第六章读后感
- Scrum Meeting 11.05
- linx命令笔记
- <iOS>swift中全局数据访问定义
- Java代码性能优化
- 创建GitHub技术博客全攻略
- 解决https请求下发送http请求问题
- android 打开google 帐户登陆页面
- innodb锁之间的兼容性判断
- Bazinga
- 如何使用xib来自定义控件
- 店家转战电商平台
- ibatis实现Iterate的使用
- spring mvc 接收手机端传输到web端的图片问题!
- 安卓异步复制文件对话框的实现,从手机移动整个文件夹到外置存储卡