添加正在进行的连接服务调用

时间:2017-08-29 02:07:04

标签: android

使用Google提供的新ConnectionService API,我发现并非所有手机都有用于视频通话的用户界面,这意味着我必须回退到我自己的手机视频通话实施中。

阅读Google的documentation

  

当没有更多的实时通话时,电信将解除对话   ConnectionService。

这意味着如果在我自己拦截传入/传出视频呼叫并且我在ConnectionService上调用addExistingConnection时,我的ConnectionService实现没有正在进行的呼叫,则会通知TelecomManager,但是TelecomManager背后的TelecomService不会绑定回我的ConnectionService。这意味着如果我降级为音频并且我调用showInCallScreen,即使我的ConnectionService确实包含正在进行的呼叫,也不会发生任何事情。

在另一个用例中,如果我已经使用ConnectionService进行了正在进行的音频通话,然后我进行了一个我添加到ConnectionService的外出视频通话,那么TelecomManager将会收到通知,我将可以在我的两个通话中切换原生UI。

在addExistingConnection之后是否缺少调用以使TelecomService绑定回我的ConnectionService实现?

if (action.equals(ADD_CALL_ACTION) && isInitialized) {
    final String sessionId = myIntent.getStringExtra(EXTRA_SESSION_ID);
    final PhoneAccountHandle phoneAccountHandle = TelecomIntegrationHelper.getPhoneAccountHandle(context);

    addExistingConnection(phoneAccountHandle, createOngoingConnection(sessionId));
    getTelecomManager().showInCallScreen(false);
}

0 个答案:

没有答案