现状
1.activity 已经注册了
EventBus.getDefault().register(this);
2.也写了订阅方法:
@Subscribe(threadMode = ThreadMode.MAIN)
void
receiveStatusCmd(StatusCmd status){
}
3.service中也调用了 post方法了
EventBus.getDefault().post(new
StatusCmd());
问题
activity收不到post的消息
原因
订阅方法不是 public的,订阅方法必须是public的
解决方法
@Subscribe(threadMode = ThreadMode.MAIN)
public void
receiveStatusCmd(StatusCmd status){
}
本文分析了一个Activity无法接收到EventBus发送的消息的问题。尽管已经进行了正确的注册和订阅,但因为订阅方法的可见性设置为非public,导致消息无法传递。解决方案是将订阅方法改为public。
4818

被折叠的 条评论
为什么被折叠?



