2017-08-11 2 views
0

私はかなり長い間これに取り組んできました。私は電話をかけるためにSinchを使用しています。Sinch Receive Call

は、これがケースである:

  1. ワーキングケース:両方のユーザーが同じ活性を開きました。

ユーザ--calls - >ユーザB< --receivesが呼び出す

ユーザB -ユーザ

ユーザBが受信します呼び出し。

  1. ノンワーキングケース:ユーザーBにはアプリが開かれていません。私はFCMを使用して通話の通知を送信します。

ユーザ--calls - >ユーザB

ユーザB< --receives呼び出すユーザ

ユーザーnotification-- B--opens - >コールアクティビティ - >が、着信コール


発信者のコードが存在しない:

if (this.mCall == null) { 
       mStatusInfo.setText("Calling..."); 
       this.mCall = this.mSinchClient.getCallClient().callUser(mRecipientId); 
       this.mCall.addCallListener(new SinchCallListener()); 
       //Test 
       String callId = this.mCall.getCallId(); 
       this.sendNotification(mTalkPath,mAuthor,mRecipient, callId); 
} 

レシーバコード:

private class SinchCallClientListener implements CallClientListener { 
    @Override 
    public void onIncomingCall(CallClient callClient, Call incomingCall) { 
     //Pick up the mCall! 
     mStatusInfo.setText("Incoming call..."); 
     mCall = incomingCall; 
     mCall.addCallListener(new SinchCallListener()); 
     String metaData = String.format("%s, %s", mRecipient.getGender(), mRecipient.getBirthDate()); 
     mInfoText.setText(metaData); 
    } 
} 

は、任意のはありますcaを受け取る方法FCMを使って? callIdはこれを解決する鍵になるかもしれませんか?

答えて