Condividi tramite


Call.HandoverTo(PhoneAccountHandle, VideoProfileState, Bundle) Metodo

Definizione

Avvia un passaggio di questo Call oggetto all'oggetto ConnectionService identificato da 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

Parametri

toHandle
PhoneAccountHandle

PhoneAccountHandle dell'oggetto ConnectionService a cui consegnare la chiamata.

videoState
VideoProfileState

Indica lo stato del video desiderato dopo l'handover (vedere le STATE_* costanti definite in VideoProfile).

extras
Bundle

Bundle contenente informazioni aggiuntive da passare al ConnectionService

Attributi

Commenti

Avvia un passaggio di questo Call oggetto all'oggetto ConnectionService identificato da toHandle. Il videoState specificato indica lo stato video desiderato dopo il passaggio.

Un handover di chiamata è il processo in cui viene trasferita una chiamata in corso da un'app ,ad esempio ConnectionService a un'altra app. L'utente potrebbe, ad esempio, scegliere di continuare una chiamata di rete mobile in un'app di videochiamata. La chiamata di rete mobile tramite lo stack di telefonia viene definita origine dell'handover e l'app di videochiamata viene definita destinazione.

Quando si considera uno scenario di consegna, il dispositivo su cui viene chiamato questo metodo viene considerato il <dispositivo em>di avvio</em> (poiché l'utente avvia la consegna da questo dispositivo) e l'altro dispositivo viene considerato il <>dispositivo di ricezione</em> em.

Quando questo metodo viene chiamato sul <dispositivo em>di avvio</em> , il framework telecom verrà associato all'oggetto ConnectionService definito da toHandlePhoneAccountHandle e richiamerà ConnectionService#onCreateOutgoingHandoverConnection(PhoneAccountHandle, ConnectionRequest) per informare l'app di destinazione che è stata effettuata una richiesta di consegna di una chiamata. L'app restituisce un'istanza di Connection per rappresentare la chiamata di consegna A questo punto l'app deve visualizzare l'interfaccia utente per indicare all'utente che è in corso un passaggio di chiamata.

L'app di destinazione è responsabile della comunicazione della richiesta di consegna dal dispositivo em>di avvio</em> al <dispositivo em>ricevente</em>.<

Quando l'app sul <dispositivo ricevente<>/em> riceve la richiesta di consegna, chiama TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle) per continuare il processo di consegna dall'avvio <><em/em> dispositivo al>< dispositivo em ricevente</em.> A questo punto l'app di destinazione nel <><dispositivo ricevente/em> deve mostrare l'interfaccia utente per consentire all'utente di scegliere se continuare la chiamata nell'app di destinazione.

Quando l'app di destinazione sul <dispositivo ricevente<>/em> chiama TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle), Telecom si associa alla relativa ConnectionService chiamata e ConnectionService#onCreateIncomingHandoverConnection(PhoneAccountHandle, ConnectionRequest) per informarla della richiesta di consegna. L'app restituisce un'istanza di Connection per rappresentare la chiamata di consegna.

Se l'utente del <dispositivo ricevente></em> accetta l'handover, l'app chiama Connection#setActive() per completare il processo di consegna; Telecom disconnetterà la chiamata originale. Se l'utente rifiuta l'handover, l'app chiama Connection#setDisconnected(DisconnectCause) e specifica un DisconnectCause di DisconnectCause#CANCELED per indicare che l'handover è stato annullato.

Telecom consentirà solo gli handover da PhoneAccounts che dichiarano PhoneAccount#EXTRA_SUPPORTS_HANDOVER_FROM. Analogamente, l'oggetto PhoneAccount specificato da toHandle deve dichiarare PhoneAccount#EXTRA_SUPPORTS_HANDOVER_TO.

Gli errori nel processo di consegna vengono segnalati all'oggetto InCallService tramite Callback#onHandoverFailed(Call, int). Gli errori nel processo di consegna vengono segnalati agli oggetti coinvolti ConnectionServicetramite ConnectionService#onHandoverFailed(ConnectionRequest, int).

Documentazione java per android.telecom.Call.handoverTo(android.telecom.PhoneAccountHandle, int, android.os.Bundle).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a