我正在使用Eventbus在Android上创建一个库。
我在我的图书馆发帖。
EventBus.getDefault().post(new ConnectToDataEvent(Constants.AUTH,true));
注册app模块以监听活动。
@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}
@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}
订阅方法
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(ConnectToDataEvent event) {
loginonClick();
};
我正在接收
No subscribers registered for event
这是在库中使用的正确方法,或者根本不可能。
感谢任何帮助。
答案 0 :(得分:0)
您是否在发布活动前打开了活动?
答案 1 :(得分:0)
没有注册活动的订阅者
这通常是因为您的活动不再可见,因此onStop()
已被调用,并且EventBus已取消订阅。
您需要删除onStop()
部分,然后尝试将注销部分移至onDestroy()
:
@Override
public void onDestroy() {
EventBus.getDefault().unregister(this);
super.onDestroy();
}