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();
}

Вы открыли активность перед публикацией события?

Другие вопросы по тегам