辛奇接听电话

Sinch Receive Call

我已经坚持这个很长一段时间了。我正在使用 Sinch 建立呼叫。

是这样的:

  1. 工作案例:两个用户都打开了相同的activity

用户A--调用-->用户B

用户B <--接听电话-- 用户A

用户B接到电话。

  1. 非工作案例:用户 B 没有打开该应用程序。我使用 FCM 发送呼叫通知。

用户A--调用-->用户B

用户B <--收到来电通知-- 用户A

用户 B --打开--> 调用 Activity - > 但是没有来电


来电号码:

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);
    }
}

有没有什么方法可以使用FCM接听电话?也许 callId 可以成为解决这个问题的关键?

看看这个https://www.sinch.com/docs/voice/android/#pushnotificationssentviayourapplicationserver

这应该会给您所需的解决方案