Question

Je travaille avec le SDK Weemo et jusqu'à présent, cela semble très prometteur.Cependant, j'ai rencontré un problème lors de l'écriture d'une application basée sur celui-ci.J'ai enregistré un écouteur CallStatusChanged sur le bus d'événements et je n'ai aucun problème à recevoir l'événement sur le récepteur lorsque l'appelant appelle.Cependant l'objet WeemoCall n'est pas bien construit et la méthode getCallId() renvoie 0 (voir le code suivant).À ma connaissance, event.getCaller renverra l'identifiant de l'appelant afin que nous puissions l'utiliser plus tard pour établir un appel.quelqu'un peut-il m'aider à résoudre ce problème ?J'ai joint une capture d'écran de l'objet d'appel que j'ai pris lors du débogage.

@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

Était-ce utile?

La solution

Le WeemoCall.getCallId() La méthode renvoie un int qui est utilisé en interne comme index.
De cette façon, le premier appel aura son getCallId() est égal à 0, le second l'aura égal à 1, et ainsi de suite.

Ainsi, afin d'obtenir l'objet WeemoCall correspondant sur votre deuxième activité, vous pouvez simplement procéder comme suit :

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

Vous pouvez également utiliser cette méthode qui renverra le WeemoCall actuel :

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    WeemoCall call = Weemo.instance().getCurrentCall();
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top