EventBus icon indicating copy to clipboard operation
EventBus copied to clipboard

The service cannot receive eventbus events.

Open libq opened this issue 2 years ago • 1 comments

MyService.java

@Override
public void onCreate() {
    super.onCreate();
    EventBus.getDefault().register(this);
}
@Override
public void onDestroy() {
    super.onDestroy();
    EventBus.getDefault().unregister(this);
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMyEvent(MyEvent event){
    Log.e(TAG,"onEvent");
}

MyFragment.java

EventBus.getDefault().post(new MyEvent());


manifast.xml

<application
    android:name="com.xxxx"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    android:usesCleartextTraffic="true"
    tools:ignore="GoogleAppIndexingWarning,UnusedAttribute">
  <service android:name=".MyService" />

======================================================= ps1: MyFragment send the event after MyService started. ps2: EventBus version : 3.1.1 android minSdkVersion 14 android targetSdkVersion 28

libq avatar Jul 13 '22 06:07 libq

As the service listens on the main thread to the event, the event might get queued on the main thread event queue and not be delivered before the service is destroyed? And in general: does your code make sure the service is between the created and destroyed state?

Anyhow, this programming question is probably something to ask on Stack Overflow.

greenrobot-team avatar Jul 18 '22 06:07 greenrobot-team