Java Weemo getCallId返回0

Java Weemo getCallId返回0,java,android,sdk,sightcall,Java,Android,Sdk,Sightcall,我正在使用Weemo sdk,到目前为止,它看起来非常有前途。然而,我在基于它编写应用程序时遇到了一个问题。我已将CallStatusChanged侦听器注册到eventbus,当调用方调用时,我可以在接收器上接收事件。但是,WeemoCall对象构造得不好,getCallId()方法返回0(请参见下面的代码)。据我所知,event.getCaller将返回调用者的id,以便我们可以稍后使用它来建立调用。谁能帮我解决这个问题?我已经附上了我在调试过程中拍摄的调用对象的屏幕截图 @WeemoEve

我正在使用Weemo sdk,到目前为止,它看起来非常有前途。然而,我在基于它编写应用程序时遇到了一个问题。我已将CallStatusChanged侦听器注册到eventbus,当调用方调用时,我可以在接收器上接收事件。但是,WeemoCall对象构造得不好,getCallId()方法返回0(请参见下面的代码)。据我所知,event.getCaller将返回调用者的id,以便我们可以稍后使用它来建立调用。谁能帮我解决这个问题?我已经附上了我在调试过程中拍摄的调用对象的屏幕截图

@WeemoEventListener
public void onCallStatusChanged(final CallStatusChangedEvent event){
    String msg = "";
    Log.i(TAG,"onCallStatusChanged" + event.toString());
    switch (event.getCallStatus()){
        case CREATED:
            msg = "call created";
            break;
    ...
        case RINGING:
            msg = "call is ringing";
            Intent i = new Intent(this, VideoCallingActivity.class);
            i.putExtra(INCOMING_CALL_ID_EXTRA, event.getCall().getCallId()); //getCallId returns 0 ?!
            startActivity(i);
            break;
    ...
    }
    Log.i(TAG,msg);
}

方法
WeemoCall.getCallId()
返回一个内部用作索引的int。
这样,第一个调用将使其
getCallId()
等于
0
,第二个调用将使其等于1,依此类推

因此,为了在第二个活动中获得相应的WeemoCall对象,您只需执行以下操作:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    int callId = savedInstanceState.getInt(INCOMING_CALL_ID_EXTRA);
    WeemoCall call = Weemo.instance().getCall(callId);
}
您还可以使用此方法返回当前WeemoCall:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    WeemoCall call = Weemo.instance().getCurrentCall();
}

谢谢你的解释!这真的很有帮助