Android 没有从后台服务发布的事件的订阅服务器
I postAndroid 没有从后台服务发布的事件的订阅服务器,android,multithreading,android-service,greenrobot-eventbus,greenrobot-eventbus-3.0,Android,Multithreading,Android Service,Greenrobot Eventbus,Greenrobot Eventbus 3.0,I postEventBus.getDefault().post(新的SendPlayer(player))来自在非主线程中运行的服务: <service android:name=".player.PlayerService" android:process=":player" android:enabled="true" android:exported="true"> </service> 但是,我收到了一条信息: D/EventBus:没有为事件
EventBus.getDefault().post(新的SendPlayer(player))代码>来自在非主线程中运行的服务:
<service
android:name=".player.PlayerService"
android:process=":player"
android:enabled="true"
android:exported="true">
</service>
但是,我收到了一条信息:
D/EventBus:没有为事件类yarh.com.tryexo.player.SendPlayer注册订户
仅当我删除android:process=“:player”
时才会传递事件
这是一个bug还是我误解了后台线程和主线程之间发布事件的流程?属性导致您的PlayerService
在其单独的流程中运行,就像一个完全不同的应用程序一样
这就像试图从另一个完全不同的应用程序启动一个应用程序中的事件。您需要找到一种不同的方式与您的服务进行通信,或者将所有需要通信的组件放在同一流程中。只需使用绑定服务
模式(最有可能使用AIDL)
@Subscribe(threadMode = ThreadMode.MAIN) public void onEvent(SendPlayer event) {
Log.w("mcheck", "onEvent");
}