Pergunta

Eu estou trabalhando com o Weemo sdk e até agora ele está olhando muito promissor.No entanto, eu ter encontrado um problema ao escrever aplicativo de acordo com ele.Eu registrei um CallStatusChanged ouvinte para o eventbus e eu não tenho nenhum problema receber o evento no receptor quando o chamador.No entanto, a WeemoCall objeto não é bem construído e a getCallId() método que retorna 0 (veja o código a seguir ).Para o meu entendimento do evento.getCaller retornará o id do chamador para que possamos último em usá-lo para estabelecer uma chamada.alguém pode me ajudar a resolver isso ?Anexei uma imagem do objeto que tirei durante a depurando.

@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

Foi útil?

Solução

O WeemoCall.getCallId() método retorna um int que é usado internamente como um índice.
Desta forma, a primeira chamada terá sua getCallId() é igual a 0, o segundo será igual a 1, e assim por diante e assim por diante.

Assim, a fim de obter o correspondente WeemoCall objeto em sua segunda atividade, você pode simplesmente fazer o seguinte:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    int callId = savedInstanceState.getInt(INCOMING_CALL_ID_EXTRA);
    WeemoCall call = Weemo.instance().getCall(callId);
}

Você também pode usar esse método que retornará o atual WeemoCall:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    WeemoCall call = Weemo.instance().getCurrentCall();
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top