最近我发现了EventBus Library。基本上我的用例围绕一个服务和一个Activity。
服务用于跟踪BLE连接的变化。
活动用于向UI报告该连接状态。
如何使用库实现相同的目标..
答案 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
}