Integrar com o TelecomManager
Esse documento descreve como integrar o TelecomManager ao seu aplicativo Android.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Um recurso dos Serviços de Comunicação implantado. Crie um recurso dos Serviços de Comunicação.
- Um token de acesso de usuário para habilitar o cliente de chamada. Para saber mais, confira Criar e gerenciar token de acesso.
- Opcional: conclua o guia de início rápido para adicionar uma chamada de voz ao seu aplicativo
Integração do TelecomManager
Importante
Este recurso dos Serviços de Comunicação do Azure estão atualmente em versão prévia.
Versões prévias das APIs e dos SDKs são fornecidas sem um contrato de nível de serviço. É recomendável que você não as use para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou talvez ter restrição de recursos.
Para saber mais, consulte os Termos de Uso Complementares das Versões Prévias do Microsoft Azure.
O SDK do Android para integração do TelecomManager
nos Serviços de Comunicação do Azure se encarrega da interação com outros Aplicativos de chamadas VoIP e PSTN que também são integrados com o TelecomManager
.
configurar TelecomConnectionService
Adicionar TelecomConnectionService
ao AndroidManifest.xml
do seu aplicativo
<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>
Inicializar o agente de chamada com TelecomManagerOptions
Com a instância configurada do TelecomManagerOptions
, podemos criar o CallAgent
com o TelecomManager
habilitado.
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);
Configurar o dispositivo de saída de áudio
Quando a integração do TelecomManager estiver habilitada para o Aplicativo, o dispositivo de saída de áudio tem que ser selecionado apenas por meio da API do gerenciador de telecomunicações.
call.setTelecomManagerAudioRoute(android.telecom.CallAudioState.ROUTE_SPEAKER);
Configurar o comportamento de retomada de chamada
Quando a chamada é interrompida por outra chamada, por exemplo, uma chamada PSTN sendo recebida, a chamada do ACS é colocada OnHold
. Você pode configurar o que acontece quando a chamada PSTN terminar: retomar a outra chamada automaticamente ou aguardar que o usuário solicite a retomada da chamada.
telecomManagerOptions.setResumeCallAutomatically(true);