Я сталкивался с этой проблемой раньше.
Попробуйте создать Singleton Class для EventBus.
Взгляните на.
public class GlobalBus {
private static EventBus eBus;
public static EventBus getEventBus() {
if (eBus == null)
eBus = EventBus.getDefault();
return eBus;
}
}
В вашей инициализации действия или фрагмента
GlobalBus.getEventBus().register(this);
Теперь опубликуйте событие, используя SingleTon Class
GlobalBus.getEventBus().post(new MessageEvent(selectedPatientId));
А также не забудьте добавить правила proguard для производственной сборки.
-keepattributes *Annotation*
-keepclassmembers class * {
@org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
# Only required if you use AsyncExecutor
-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
<init>(java.lang.Throwable);
}