我有一个奥托问题。我有一个可运行的线程,我开始了。它进行一些处理并将结果作为事件发布到总线上。
在 Runnable 类中,通过调用此类的 getInstance 来检索总线:
public final class BusProvider {
private static final Bus BUS = new Bus(ThreadEnforcer.MAIN);
public static Bus getInstance() {
return BUS;
}
private BusProvider() {
// No instances.
}
}
稍后,Activity 使用相同的方法: BusProvider.getInstance() 来访问总线并注册任何事件。但是,永远不会调用 @Subscribe 方法:
@Subscribe
public void onGeoCodePosition(GeoCodePosition geoCodePosition) {
.....
}
我的假设是,即使我强制总线位于特定线程上,即。ThreadEnforcer.MAIN,因为我在 Runnable 上设置了一个新线程,所以我稍后在 Activity 中没有收到任何事件的原因是在一个线程上发布,而在另一个线程上进行监听,因此不起作用?