Compartilhar via


Call.HandoverTo(PhoneAccountHandle, VideoProfileState, Bundle) Método

Definição

Inicia uma transferência deste Call para o ConnectionService identificado por toHandle.

[Android.Runtime.Register("handoverTo", "(Landroid/telecom/PhoneAccountHandle;ILandroid/os/Bundle;)V", "", ApiSince=28)]
public void HandoverTo (Android.Telecom.PhoneAccountHandle? toHandle, Android.Telecom.VideoProfileState videoState, Android.OS.Bundle? extras);
[<Android.Runtime.Register("handoverTo", "(Landroid/telecom/PhoneAccountHandle;ILandroid/os/Bundle;)V", "", ApiSince=28)>]
member this.HandoverTo : Android.Telecom.PhoneAccountHandle * Android.Telecom.VideoProfileState * Android.OS.Bundle -> unit

Parâmetros

toHandle
PhoneAccountHandle

PhoneAccountHandleConnectionService do para entregar este chamado.

videoState
VideoProfileState

Indica o estado de vídeo desejado após a transferência (consulte as STATE_* constantes definidas em VideoProfile).

extras
Bundle

Pacote contendo informações extras a serem passadas ao ConnectionService

Atributos

Comentários

Inicia uma transferência deste Call para o ConnectionService identificado por toHandle. O videoState especificado indica o estado de vídeo desejado após a transferência.

Uma transferência de chamada é o processo em que uma chamada em andamento é transferida de um aplicativo (ou seja, ConnectionService para outro aplicativo. O usuário pode, por exemplo, optar por continuar uma chamada de rede móvel em um aplicativo de chamada de vídeo. A chamada de rede móvel através da pilha de telefonia é referida como a origem da transferência e o aplicativo de chamada de vídeo é referido como o destino.

Ao considerar um cenário de transferência, o dispositivo em que esse método é chamado é considerado o dispositivo em>iniciando</em> (uma vez que o usuário inicia a transferência a partir deste dispositivo), e o outro dispositivo é considerado o <dispositivo em>recebendo</em>.<

Quando esse método é chamado no <dispositivo em>initiating</em> , a estrutura de Telecom se vinculará ao ConnectionService definido pelo toHandlePhoneAccountHandle e invocará ConnectionService#onCreateOutgoingHandoverConnection(PhoneAccountHandle, ConnectionRequest) para informar ao aplicativo de destino que uma solicitação foi feita para entregar uma chamada a ele. O aplicativo retorna uma instância de para representar a chamada de transferência Neste ponto, o aplicativo deve exibir a interface do usuário para indicar ao usuário que uma transferência de Connection chamada está em andamento.

O aplicativo de destino é responsável por comunicar a solicitação de transferência do <dispositivo em>iniciando</em> para o <dispositivo em>recebendo</em> .

Quando o aplicativo no <dispositivo em>receiving</em> recebe a solicitação de transferência, ele chama TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle) para continuar o processo de transferência do <dispositivo em>initiating</em> para o <dispositivo em>receiving</em> . Neste ponto, o <aplicativo de destino no dispositivo em>receiving</em> deve mostrar a interface do usuário para permitir que o usuário escolha se deseja continuar sua chamada no aplicativo de destino.

Quando o aplicativo de destino no <dispositivo em>recebimento</em> chama, TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle)a Telecom ligará ao seu ConnectionService e ligará ConnectionService#onCreateIncomingHandoverConnection(PhoneAccountHandle, ConnectionRequest) para informá-lo da solicitação de transferência. O aplicativo retorna uma instância de para representar a chamada de Connection transferência.

Se o usuário do <dispositivo em>recebimento</em> aceitar a transferência, o aplicativo liga Connection#setActive() para concluir o processo de entrega; A Telecom desconectará a chamada original. Se o usuário rejeitar a transferência, o aplicativo chamará Connection#setDisconnected(DisconnectCause) e especificará um DisconnectCause de DisconnectCause#CANCELED para indicar que a transferência foi cancelada.

Telecom só permitirá repasses de PhoneAccounts que declaram PhoneAccount#EXTRA_SUPPORTS_HANDOVER_FROM. Da mesma forma, o PhoneAccount especificado por toHandle deve declarar PhoneAccount#EXTRA_SUPPORTS_HANDOVER_TO.

Erros no processo de entrega são reportados à InCallService via Callback#onHandoverFailed(Call, int). Erros no processo de entrega são reportados aos envolvidos ConnectionServicevia ConnectionService#onHandoverFailed(ConnectionRequest, int).

Documentação Java para android.telecom.Call.handoverTo(android.telecom.PhoneAccountHandle, int, android.os.Bundle).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Aplica-se a