與 TelecomManager 整合
本文件說明如何整合 TelecomManager 與 Android 應用程式。
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
- 已部署通訊服務資源。 建立通訊服務資源。
- 用來啟用呼叫用戶端的使用者存取權杖。 如需詳細資訊,請參閱建立和管理存取權杖。
- 選擇性:完成快速入門以將語音通話新增至您的應用程式
TelecomManager 整合
重要
此 Azure 通訊服務功能目前處於預覽狀態。
提供的預覽 API 並無服務等級協定。 建議您不要將其用於生產工作負載。 有些功能可能不受支援,或是在功能上有所限制。
如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用規定。
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
實體,我們可以建立 CallAgent
已啟用的 TelecomManager
。
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);
設定音訊輸出裝置
啟用 App 的 TelecomManager 整合時,只有透過電信管理員 API 選取音訊輸出裝置。
call.setTelecomManagerAudioRoute(android.telecom.CallAudioState.ROUTE_SPEAKER);
設定通話繼續行為
當呼叫與其他通話中斷時,例如內送 PSTN 通話,ACS 呼叫會放置 OnHold
。 您可以設定 PSTN 通話自動結束通話後會發生什麼情況,或等候使用者要求通話繼續。
telecomManagerOptions.setResumeCallAutomatically(true);