gpt4 book ai didi

android - 后台服务发布的事件没有订阅者

转载 作者:搜寻专家 更新时间:2023-11-01 09:48:52 25 4
gpt4 key购买 nike

我从在非主线程中运行的服务发布 EventBus.getDefault().post(new SendPlayer(player));:

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

我什至希望在我的 fragment 中收到:

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

但是,我收到消息:
D/EventBus:没有为事件类 yarh.com.tryexo.player.SendPlayer 注册的订阅者

仅当我删除 android:process=":player" 时才会传送事件。

这是一个错误还是我误解了后台线程和主线程之间发布事件的流程?

最佳答案

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

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

关于android - 后台服务发布的事件没有订阅者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36688945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com