你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

与 TelecomManager 集成

本文档介绍如何将 TelecomManager 与 Android 应用程序集成。

先决条件

TelecomManager 集成

重要

Azure 通信服务的这一功能目前以预览版提供。 预览版中的功能已公开发布,可供所有新客户和现有Microsoft客户使用。

预览版 API 和 SDK 在没有服务级别协议的情况下提供。 建议不要将它们用于生产工作负荷。 某些功能可能不受支持,或者功能可能受到限制。

有关详细信息,请参阅 Azure 预览版Microsoft补充使用条款

TelecomManager Azure 通信服务 Android SDK 中的集成处理与其他 VoIP 和 PSTN 呼叫应用的交互,这些应用也与 TelecomManager集成。

配置 TelecomConnectionService

TelecomConnectionService 添加到应用 AndroidManifest.xml

<application>
  ...
  <service
      android:name="com.azure.android.communication.calling.TelecomConnectionService"
      android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
      android:exported="true">
      <intent-filter>
          <action android:name="android.telecom.ConnectionService" />
      </intent-filter>
  </service>
</application>

使用 TelecomManagerOptions 初始化调用代理

配置 TelecomManagerOptions 的实例后,可以创建启用了 TelecomManagerCallAgent

CallAgentOptions options = new CallAgentOptions();
TelecomManagerOptions telecomManagerOptions = new TelecomManagerOptions("<your app's phone account id>");
options.setTelecomManagerOptions(telecomManagerOptions);

CallAgent callAgent = callClient.createCallAgent(context, credential, options).get();
Call call = callAgent.join(context, locator, joinCallOptions);

配置音频输出设备

为应用启用 TelecomManager 集成后,必须仅通过电信管理器 API 选择音频输出设备。

call.setTelecomManagerAudioRoute(android.telecom.CallAudioState.ROUTE_SPEAKER);

配置通话恢复行为

当一个呼叫被其他呼叫(例如传入的PSTN呼叫)中断时,ACS呼叫会被置于OnHold。 可以配置 PSTN 通话结束后会发生的情况:自动恢复通话,或等待用户请求恢复通话。

telecomManagerOptions.setResumeCallAutomatically(true);

后续步骤