Eventbus接收不到消息问题

    最近积累了好多问题和学习记录知识,但是最近公司项目实在太忙,抽不开身,后面有时间尽量都补上,今天先记录一个遇到的小问题:eventbus无法接收到消息

我仔细查看了消息体和订阅方法,都没找到问题,那么应该是我订阅注册过程的问题了,经过log日志打印终于找到了问题所在:eventbus普通的订阅事件,即eventbus.getDefault().post(xxx)方法必须是在订阅后发送消息才可接收到,而我在注册订阅消息之前就发送了消息,所以接收不到.

解决方案:采用eventbus为我们提供的另一中订阅事件:粘性事件,用它可以实现订阅在消息发送后仍然收到消息,部分代码如下:

//将图片的url传给购买界面  (MemoryShopBuyAct..)
EventBus.getDefault().postSticky(new CustomizedImageBean(imageBackUrl));

@Subscribe(threadMode = ThreadMode.MAIN,sticky = true) //在ui线程执行
public void getImageUrl(CustomizedImageBean imageBean){
    Logger.e("从CustomizeActivity来的~~~~~~~"+ imageBean.getImageUrl());
    frontImageUrl=imageBean.getImageUrl();

}



你可能感兴趣的:(android,错误调试,eventbus)