NotificationEvent Class (POJO)
public class NotificationEvent {
LoggedInUserInterface liui;
public NotificationEvent(LoggedInUserInterface liui) {
this.liui = liui;
}
}
1005 * MyFirebaseMessagingService (абонент)
LoggedInUserInterface liui;
@Override
public void onCreate() {
super.onCreate();
EventBus.getDefault().register(this);
}
@Override
public void onDestroy() {
EventBus.getDefault().unregister(this);
super.onDestroy();
}
@Subscribe(sticky = true, threadMode = ThreadMode.MAIN)
public void onMessageEvent(NotificationEvent notificationEvent) {
LoggedInUserInterface liui = notificationEvent.liui;
this.liui = liui;
Log.d("notifyUser", "EventBus call received in service");
}
Моя активность (постер)
1010
Ошибка
EventBus: No subscribers registered for event class com.myCompany.myApp.NotificationEvent
No subscribers registered for event class org.greenrobot.eventbus.NoSubscriberEvent
Успешный журнал
Activity post call done
Неудачный журнал
EventBus call received in service
Я пробовал липкие и не липкие безрезультатно. Помощь приветствуется
1022 *
UPDATE 1026 * Я могу подтвердить, что это работа шины событий и реальная проблема заключается в следующем: служба работает только тогда, когда уведомление будет получено. Это является проблемой, поскольку службе требуется обновленная строка из основного действия при каждом создании действия, а не только при получении уведомления.
ВОЗМОЖНОЕ РЕШЕНИЕ HACKY
Я мог бы послать себя уведомление каждый раз, когда приложение запускается (и не отображать его). Это запустит службу и позволит шине событий обновить строку. Это не идеально, и это может поглотить мою зарплату, как вы идете бюджет. Так что местное решение все равно будет высоко оценено.