Android Слушайте события из библиотечного модуля
Я создаю библиотеку на Android с помощью Eventbus.
Я публикую событие в моей библиотеке.
EventBus.getDefault().post(new ConnectToDataEvent(Constants.AUTH,true));
Модуль приложения зарегистрирован для прослушивания событий.
@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
Это правильный способ использования в библиотеке или это невозможно вообще.
Любая помощь приветствуется.
1 ответ
На мероприятие нет подписчиков
Обычно это происходит потому, что ваша активность больше не отображается, поэтому onStop()
уже вызван, а подписка на EventBus уже отменена.
Вам нужно удалить onStop()
часть и попробуйте переместить незарегистрированную часть в onDestroy()
:
@Override
public void onDestroy() {
EventBus.getDefault().unregister(this);
super.onDestroy();
}