如何使用GreenRobot的EventBus广播从服务到活动的事件?

时间:2015-10-15 11:13:50

标签: android bluetooth-lowenergy greenrobot-eventbus

最近我发现了EventBus Library。基本上我的用例围绕一个服务和一个Activity。

服务用于跟踪BLE连接的变化。

活动用于向UI报告该连接状态。

如何使用库实现相同的目标..

1 个答案:

答案 0 :(得分:4)

在您的活动onResume方法中,注册活动:

EventBus.getDefault().register(this);

onPause

取消注册
EventBus.getDefault().unregister(this);

当服务正在运行并且它获得有关BLE的信息时,请通过EventBus发送此信息:

BLEInfo bleInfo = new BLEInfo(... // create some kind of object to aggregate the info about ble connection
EventBus.getDefault().post(bleInfo);

最后,实施活动获取信息的行为:

public void onEvent(BLEInfo bleInfo) {
    // update your UI based on bleInfo
}