2017-08-11 68 views
0

我一直在這個問題上停留了很長一段時間。我正在使用Sinch來建立呼叫。Sinch接收電話

這種情況:

  1. 工作案例:兩個用戶已經打開了同一活動

用戶A--calls - >用戶B

用戶B< --receives調用 -用戶A

用戶B接收電話。

  1. 非工作案例:用戶B沒有打開該應用程序。我用FCM發送通話通知。

用戶A--calls - >用戶B

用戶B< --receives調用notification--用戶A

用戶B- 開架 - >呼叫活動 - >但沒有來電


來電者的代碼:

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可能是解決這個問題的關鍵嗎?

回答