【发布时间】:2015-10-21 00:15:07
【问题描述】:
我正在我的应用程序中开发一些功能,我会在其中收到推送通知,如果我的应用程序的某些屏幕正在运行,请在其中添加一些内容,例如更新某些列表、放置徽章和其他内容。
推送通知的使用是强制性的,我知道 websockets 或其他类似的解决方案更适合完成此功能,但由于后端限制我们不能使用它。
为了通知屏幕,我们认为使用Otto 或Eventbus 之类的事件库。关键是我们只想在没有屏幕收到“消息”时才显示通知。为了解决这个问题,我们首先通过向通知接收者发送回一个“ACK”事件来通知它不能显示通知。
不要这样做,(这是我的问题)在其中一个库中是否有某种形式可以知道某个对象是否订阅了具体事件?
【问题讨论】:
-
“为了解决这个问题,我们首先通过向通知接收器发送回一个“ACK”事件来通知它不能显示通知”——Otto 和 greenrobot 的 EventBus 都提供了查找方法如果事件没有到达任何订阅者,则退出。有关示例,请参见 github.com/commonsguy/cw-omnibus/tree/master/EventBus/Otto 和 github.com/commonsguy/cw-omnibus/tree/master/EventBus/…。