Android 用GreenRobot'代替广播发送和接收事件状态是否好;从服务到活动的事件总线是什么?

Android 用GreenRobot'代替广播发送和接收事件状态是否好;从服务到活动的事件总线是什么?,android,broadcastreceiver,bluetooth-lowenergy,greenrobot-eventbus,Android,Broadcastreceiver,Bluetooth Lowenergy,Greenrobot Eventbus,这是本帖的后续报道 我的用例围绕服务和活动展开 服务用于跟踪BLE连接中的更改 活动用于向UI报告该连接状态 现有情景。服务使用广播发送围绕BLE的每个状态的事件(通过sendBroadcast()方法) (连接/断开,数据可用等) 我的疑问是:我能否像广播一样利用这个绿色机器人的EventBus库来控制(发送和接收事件)?如果是这样的话,在替换广播控制(发送和接收)范式的时候,我是否应该考虑(关于线程安全)或者必须知道的东西。 < P>我现在正在使用Otto(非常类似于EnvestBUS)来

这是本帖的后续报道

我的用例围绕服务和活动展开

服务用于跟踪BLE连接中的更改

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

现有情景。服务使用广播发送围绕BLE的每个状态的事件(通过sendBroadcast()方法) (连接/断开,数据可用等)

我的疑问是:我能否像广播一样利用这个绿色机器人的EventBus库来控制(发送和接收事件)?如果是这样的话,在替换广播控制(发送和接收)范式的时候,我是否应该考虑(关于线程安全)或者必须知道的东西。

< P>我现在正在使用Otto(非常类似于EnvestBUS)来完成你想做的事情。 我有一个服务,它有一个计时器,并显示一个持久的通知。通知的每次更新还发布活动要接收的最新信息,然后更新UI

使用Otto(可能还有EventBus,我还没有使用过那个特定的库)实现起来要容易得多,因为每次发布一些信息时我都需要发送4条信息,而使用常规的sendBroadcast()系统每次在意图中添加额外的内容会让人厌烦

在切换到Otto之后,我没有遇到任何问题,它帮助我清理了很多代码

需要注意的一点是(至少使用Otto)默认设置为只允许在主线程上发布/订阅,并且当您使用服务时,您必须对其进行编辑。我不确定EventBus是否有相同的功能,但请在他们的文档中查找。

我目前正在使用Otto(非常类似于EventBus)来完成您想要做的事情

我有一个服务,它有一个计时器,并显示一个持久的通知。通知的每次更新还发布活动要接收的最新信息,然后更新UI

使用Otto(可能还有EventBus,我还没有使用过那个特定的库)实现起来要容易得多,因为每次发布一些信息时我都需要发送4条信息,而使用常规的sendBroadcast()系统每次在意图中添加额外的内容会让人厌烦

在切换到Otto之后,我没有遇到任何问题,它帮助我清理了很多代码

需要注意的一点是(至少使用Otto)默认设置为只允许在主线程上发布/订阅,并且当您使用服务时,您必须对其进行编辑。我不确定EventBus是否有相同的功能,但请在他们的文档中查找。

我目前正在使用Otto(非常类似于EventBus)来完成您想要做的事情

我有一个服务,它有一个计时器,并显示一个持久的通知。通知的每次更新还发布活动要接收的最新信息,然后更新UI

使用Otto(可能还有EventBus,我还没有使用过那个特定的库)实现起来要容易得多,因为每次发布一些信息时我都需要发送4条信息,而使用常规的sendBroadcast()系统每次在意图中添加额外的内容会让人厌烦

在切换到Otto之后,我没有遇到任何问题,它帮助我清理了很多代码

需要注意的一点是(至少使用Otto)默认设置为只允许在主线程上发布/订阅,并且当您使用服务时,您必须对其进行编辑。我不确定EventBus是否有相同的功能,但请在他们的文档中查找。

我目前正在使用Otto(非常类似于EventBus)来完成您想要做的事情

我有一个服务,它有一个计时器,并显示一个持久的通知。通知的每次更新还发布活动要接收的最新信息,然后更新UI

使用Otto(可能还有EventBus,我还没有使用过那个特定的库)实现起来要容易得多,因为每次发布一些信息时我都需要发送4条信息,而使用常规的sendBroadcast()系统每次在意图中添加额外的内容会让人厌烦

在切换到Otto之后,我没有遇到任何问题,它帮助我清理了很多代码


需要注意的一点是(至少使用Otto)默认设置为只允许在主线程上发布/订阅,并且当您使用服务时,您必须对其进行编辑。我不确定EventBus是否有相同的功能,但请在他们的文档中查找。

“需要注意的是(至少使用Otto)默认设置为只允许在主线程上发布/订阅,并且当您使用服务时,您必须编辑它。”>>编辑什么Kasper?因为您使用的是服务,它在另一个线程中运行,您必须设置Otto以允许从所有线程(不仅仅是主线程)发布和订阅,否则它将无法工作。在他们的github页面上有一个完整的指南。“需要注意的是(至少有Otto)默认设置为只允许在主线程上发布/订阅,当您使用服务时,您必须编辑它。”>>编辑什么Kasper?因为您使用的是在另一个线程中运行的服务,您必须将Otto设置为允许从所有线程(不仅仅是主线程)发布和订阅,否则它将无法工作。在他们的github页面上有一个完整的指南。“需要注意的是(至少使用Otto)默认设置为只允许在主线程上发布/订阅,并且当您使用服务时,您必须对其进行编辑。”>>编辑什么Kasper?因为您使用的是在另一个线程中运行的服务,您必须将Otto设置为al