Android 如何识别活动类上eventbus的调用方

Android 如何识别活动类上eventbus的调用方,android,event-bus,greenrobot-eventbus,greenrobot-eventbus-3.0,Android,Event Bus,Greenrobot Eventbus,Greenrobot Eventbus 3.0,我正在活动中使用并覆盖一个事件ABC。 现在,我从多个类(EventBus.getDefault().post(new ABC())等)调用该事件,并在活动类上得到回调。所以我的问题是:是否有任何方法可以识别调用我的activity类上的事件的调用方。在ABC中放入一些东西,告诉您事件的起源,例如通过构造函数参数。我建议添加一个接收标记的构造函数 public ABC(int tag) {} 然后在你的活动中,你可以这样做: @Subscribe() public void onEvent(A

我正在活动中使用并覆盖一个事件ABC。
现在,我从多个类(
EventBus.getDefault().post(new ABC())
等)调用该事件,并在活动类上得到回调。所以我的问题是:是否有任何方法可以识别调用我的activity类上的事件的调用方。

ABC
中放入一些东西,告诉您事件的起源,例如通过构造函数参数。

我建议添加一个接收标记的构造函数

public ABC(int tag) {}
然后在你的活动中,你可以这样做:

@Subscribe()
public void onEvent(ABC event) {
    switch(event.getTag()) {
        case MyService.TAG: 
            //process data from your service
            break;
        case MyFragment.TAG: 
            //process data from your fragment
            break;
    }
}