gpt4 book ai didi

java - Weemo getCallId 返回 0

转载 作者:行者123 更新时间:2023-11-29 05:20:24 24 4
gpt4 key购买 nike

我正在使用 Weemo SDK,到目前为止它看起来很有前途。但是我在基于它编写应用程序时遇到了一个问题。我已经在事件总线上注册了一个 CallStatusChanged 监听器,当调用者调用时,我可以毫无问题地在接收器上接收事件。但是,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);
}

enter image description here

最佳答案

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

因此,为了在您的第二个 Activity 中获得相应的 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();
}

关于java - Weemo getCallId 返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25025185/

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