2

I post EventBus.getDefault().post(new SendPlayer(player)); from a services, which is running in non main thread:

<service
  android:name=".player.PlayerService"
  android:process=":player"
  android:enabled="true"
  android:exported="true">
</service>

I expect to receive even in my fragment:

@Subscribe(threadMode = ThreadMode.MAIN) public void onEvent(SendPlayer event) {
  Log.w("mcheck", "onEvent");
}

However, I get message:
D/EventBus: No subscribers registered for event class yarh.com.tryexo.player.SendPlayer.

Events are delivered only if I remove android:process=":player".

Is it a bug or I misunderstood flow of posting events between background thread and main thread?

4

1 回答 1

2

process属性使您PlayerService在自己的单独进程中运行,就像一个完全不同的应用程序一样。

这就像试图从另一个完全不同的应用程序中触发一个应用程序中的事件。您将需要找到一种不同的方式来与您的服务进行通信,或者将需要通信的所有组件放在同一个进程中。

于 2016-04-18T08:34:37.493 回答