Encerrar uma chamada
A chamada pode ser encerrada por qualquer uma das duas partes:
- aplicativo ao chamar o
hangupmétodo nocallinstância - chamar o destinatário desligando o aparelho físico
Encerrar a chamada quando o destinatário desligar
Para encerrar a chamada (desligar), é necessário armazenar a referência ao objeto da chamada em andamento. Adicione onGoingCallID propriedade no topo do MainActivity:
private var onGoingCallID: CallId? = null
Você precisa armazenar a referência da chamada em andamento no onGoingCallID propriedade e adicionar setOnRTCHangupListener para avisá-lo quando a ligação terminar.
No MainActivity atualizar o corpo do onCreate método para incluir o ouvinte abaixo no final do método.
client.setOnCallHangupListener { callId, callQuality, isRemote ->
onGoingCallID = null
startCallButton.visibility = View.VISIBLE
endCallButton.visibility = View.INVISIBLE
}
No MainActivity atualizar o corpo do startCall método. Certifique-se de substituir PHONE_NUMBER abaixo, com o número de telefone que você deseja ligar, no E.164 formato (por exemplo, 447700900000):
@SuppressLint("MissingPermission")
fun startCall() {
client.serverCall(mapOf("to" to "PHONE_NUMBER")) {
err, outboundCall ->
when {
err != null -> {
connectionStatusTextView.text = err.localizedMessage
}
else -> {
onGoingCallID = outboundCall
startCallButton.visibility = View.INVISIBLE
endCallButton.visibility = View.VISIBLE
}
}
}
}
Quando a chamada é encerrada (independentemente de quem a encerra — o aplicativo de chamadas ou o destinatário), a interface do usuário é atualizada para refletir o estado atual da chamada (make a call button é mostrado e END CALL (o botão está oculto).
Encerrar a chamada no aplicativo
No MainActivity preencha o corpo do hangup método:
private fun hangup() {
onGoingCallID?.let {
client.hangup(it) {
err ->
when {
err != null -> {
connectionStatusTextView.text = err.localizedMessage
}
else -> {
onGoingCallID = null
}
}
}
}
}
Observe que, após encerrar a ligação com sucesso, você define o valor do onGoingCallID redefinir a propriedade para null.
Compilar e executar
Pressione o Ctrl + R teclas para criar e executar o aplicativo. Inicie e encerre a chamada para ver as mudanças na interface do usuário.
Fazendo uma chamada de voz no aplicativo
Faça uma chamada de voz a partir de um aplicativo Android para um telefone usando o Client SDK do Android.