你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文档介绍如何将 TelecomManager 与 Android 应用程序集成。
先决条件
- 拥有有效订阅的 Azure 帐户。 免费创建帐户。
- 已部署的通信服务资源。 创建通信服务资源。
- 用于启用通话客户端的用户访问令牌。 有关详细信息,请参阅 创建和管理访问令牌。
- 可选:完成快速入门,将 语音呼叫添加到应用程序
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
的实例后,可以创建启用了 TelecomManager
的 CallAgent
。
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);