【发布时间】:2014-12-23 07:53:10
【问题描述】:
我在我的 Android 应用程序中使用 RoboGuice 3.0.1 和 RoboBlender。 我想拥有一个全局事件管理器,并注意到 RG3.0 已经拥有它,如此处所述: https://github.com/roboguice/roboguice/issues/150
我已经添加了
bind(EventManager.class).annotatedWith(Names.named(DefaultRoboModule.GLOBAL_EVENT_MANAGER_NAME)).to(EventManager.class).asEagerSingleton();
到我在 configure() 中的自定义模块类。
我有一个执行 Web API 请求的单例 WebUtil.class。一旦 API 请求完成,我想利用全局事件管理器发送事件。 我已经使用以下方法注入了 eventManager:
@Inject EventManager eventManager;
使用以下方式发送事件:
eventManager.fire(new MyAPIEvent());
我的 Activity 类中有一个 Observer 方法:
handleAPICallback(@Observes MyAPIEvent apiEvent) {
// do something with apiEvent object
}
但我没有看到 handleAPICallback() 被调用。 我在网上搜索并找不到 GlobalEventManager 的单个示例。
任何帮助将不胜感激。
【问题讨论】:
-
事件触发时你的Activity是否在前台?
-
是的。活动在前台。
-
如果您能提供 RG3.0 中全局事件管理器的示例,这对我们很多人来说真的很有帮助。