Compartir a través de


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

Definición

Inicia una entrega de esto Call al ConnectionService objeto 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

PhoneAccountHandle del objeto al que ConnectionService se va a entregar esta llamada.

videoState
VideoProfileState

Indica el estado de vídeo deseado después de la entrega (vea las STATE_* constantes definidas en VideoProfile).

extras
Bundle

Agrupación que contiene información adicional que se va a pasar al ConnectionService

Atributos

Comentarios

Inicia una entrega de esto Call al ConnectionService objeto identificado por toHandle. El valor de videoState especificado indica el estado de vídeo deseado después de la entrega.

Una entrega de llamadas es el proceso en el que se transfiere una llamada en curso desde una aplicación (es decir ConnectionService , a otra aplicación). El usuario podría, por ejemplo, elegir continuar una llamada de red móvil en una aplicación de videollamadas. La llamada de red móvil a través de la pila de telefonía se conoce como origen de la entrega y la aplicación de videollamada se conoce como destino.

Al considerar un escenario de entrega, el dispositivo en el que se llama a este método se considera el dispositivo em>initiating/em> (ya que el usuario inicia la entrega desde este dispositivo) y el otro dispositivo se considera el <dispositivo em>receiveing<</em>.<

Cuando se llama a este método en el dispositivo em>initiating</em>, el marco telecom se enlazará al ConnectionService definido por toHandlePhoneAccountHandle e invocará ConnectionService#onCreateOutgoingHandoverConnection(PhoneAccountHandle, ConnectionRequest) para informar a la aplicación de destino de que se ha realizado una solicitud para entregarle una <llamada. La aplicación devuelve una instancia de Connection para representar la llamada de entrega En este momento, la aplicación debe mostrar la interfaz de usuario para indicar al usuario que está en proceso una entrega de llamada.

La aplicación de destino es responsable de comunicar la solicitud de entrega desde el dispositivo em>que inicia</em> al <dispositivo em>receiveing</em>.<

Cuando la aplicación del <dispositivo em>receiveing</em> recibe la solicitud de entrega, llama TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle) a para continuar el proceso de entrega desde el <dispositivo em>initiating</em> al <dispositivo em>receiveing</em> . En este momento, la aplicación de destino del <dispositivo em>receiveing</em> debe mostrar la interfaz de usuario para permitir al usuario elegir si desea continuar con su llamada en la aplicación de destino.

Cuando la aplicación de destino en el <dispositivo em>receiveing</em> llama TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle)a , Telecom se enlazará a su ConnectionService y llamará ConnectionService#onCreateIncomingHandoverConnection(PhoneAccountHandle, ConnectionRequest) para informarle de la solicitud de entrega. La aplicación devuelve una instancia de Connection para representar la llamada de entrega.

Si el usuario del <dispositivo em>receiveing</em> acepta la entrega, la aplicación llama Connection#setActive() a para completar el proceso de entrega; Telecom desconectará la llamada original. Si el usuario rechaza la entrega, la aplicación llama Connection#setDisconnected(DisconnectCause) a y especifica un DisconnectCause de DisconnectCause#CANCELED para indicar que se ha cancelado la entrega.

Telecom solo permitirá entregas de PhoneAccounts que declaren PhoneAccount#EXTRA_SUPPORTS_HANDOVER_FROM. Del mismo modo, el PhoneAccount objeto especificado por toHandle debe declarar PhoneAccount#EXTRA_SUPPORTS_HANDOVER_TO.

Los errores del proceso de entrega se notifican a través Callback#onHandoverFailed(Call, int)de InCallService . Los errores en el proceso de entrega se notifican a los implicados ConnectionServicea través ConnectionService#onHandoverFailed(ConnectionRequest, int)de .

Documentación de Java para android.telecom.Call.handoverTo(android.telecom.PhoneAccountHandle, int, android.os.Bundle).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Se aplica a