在service代码里实现广播接收者
来源:互联网 发布:中国 发达国家 知乎 编辑:程序博客网 时间:2024/04/30 15:22
service里:
// 初始化广播接收器private MyBroadcastReceiver receviver = null;private void initBroadcastReceiver() {// 创建一个IntentFilter对象,将其action指定为BluetoothDevice.ACTION_FOUNDIntentFilter intentFilter = new IntentFilter();intentFilter.addAction(Constant.RELOAD_DATA);intentFilter.addAction(Constant.RELOAD_OPEN_DOORS_DISTANCE);receviver = new MyBroadcastReceiver();// 注册广播接收器registerReceiver(receviver, intentFilter);}private class MyBroadcastReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {String action = intent.getAction();if (action.equals(Constant.RELOAD_DATA)) {// 重新加载数据库System.out.println("get RELOAD_DATA");getDoorInfFromDB();return;} else if (action.equals(Constant.RELOAD_OPEN_DOORS_DISTANCE)) {// 这里得到实际距离,要将实际距离进行转化/*** 0========-5* 10=======-85*/openDistance = getSharedPreferences(Constant.NAME_CONFIG, Context.MODE_PRIVATE).getInt(Constant.KEY_DOOR_DISTANCE, -85);if (openDistance > -50) {openDistance = -50;}return;} else if (action.equals(Constant.RELOAD_OPEN_DOORS_DISTANCE_DEF)) {SharedPreferences preferences = getSharedPreferences(Constant.NAME_CONFIG, Context.MODE_PRIVATE);openDistance = preferences.getInt(Constant.KEY_DOOR_DISTANCE_DEFAULT, -75);return;}}}
在activity里:
// 发送广播去重新加载数据broadcastUpdate(Constant.RELOAD_DATA);
private void broadcastUpdate(final String action) {final Intent intent = new Intent(action);sendBroadcast(intent);}
在onDestroy方法里要解除注册:
if (receviver != null) {unregisterReceiver(receviver);}
0 1
- 在service代码里实现广播接收者
- 安卓在服务里实现来去电归属地----在服务里比在广播接收者里好
- 47.android服务service-代码注册广播接收者
- Android在Service中注册动态广播接收者
- 42_代码注册广播接受者(广播接收者与Activity或service的生命周期相同)&打电话的广播接收者
- 采用代码注册广播接收者
- 如何用代码注册广播接收者
- 在广播接收者里面启动Activity
- Android在广播接收者中弹出对话框
- 广播接收者
- 广播接收者
- 广播接收者
- 广播接收者
- 广播接收者
- 广播接收者
- 广播接收者
- 广播接收者
- 广播接收者
- UVa 711 - Dividing up
- 10步成为一个成功的创业者
- 关于在myeclipse下链接oracle 数据库的步骤
- 关于在使用Hibernate注解形成死循环的问题
- 逗号运算符
- 在service代码里实现广播接收者
- 欢迎使用CSDN-markdown编辑器
- 数据库SQL编写规范--dba经过实践后总结
- Oracle计算两个日期的时间差
- jQuery easyUI中的EasyLoader的使用
- 变量声明和定义
- 标准W3C盒子模型和IE盒子模型CSS布局经典盒子模型
- 使用AjaxMethod可以在客户端异步调用服务端方法
- 13个SQL优化技巧