Call.HandoverTo(PhoneAccountHandle, VideoProfileState, Bundle) メソッド

定義

によってtoHandle識別される へのこのCallのハンドオーバーをConnectionService開始します。

[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

パラメーター

toHandle
PhoneAccountHandle

PhoneAccountHandleConnectionServiceこの呼び出しを引き渡す の 。

videoState
VideoProfileState

ハンドオーバー後に必要なビデオの状態を示します (でVideoProfile定義されている定数をSTATE_*参照)。

extras
Bundle

に渡される追加情報を含むバンドル ConnectionService

属性

注釈

によってtoHandle識別される へのこのCallのハンドオーバーをConnectionService開始します。 指定された videoState は、ハンドオーバー後の目的のビデオ状態を示します。

通話の引き継ぎは、進行中の通話が 1 つのアプリ (つまり ConnectionService 、別のアプリ) から転送されるプロセスです。 たとえば、ユーザーは、ビデオ通話アプリでモバイル ネットワーク呼び出しを続行することを選択できます。 テレフォニー スタック経由のモバイル ネットワーク呼び出しは、引き継ぎのソースと呼ばれ、ビデオ通話アプリは宛先と呼ばれます。

ハンドオーバー シナリオを検討する場合、このメソッドが呼び出されるデバイスは em initiating/em> デバイスと見な<>され (ユーザーがこのデバイスからハンドオーバーを開始するため)、もう一方のデバイスは em>receiving</em> デバイスと見なされます<。<

em initiating/em> デバイスで<>このメソッドが呼び出されると、Telecom フレームワークは によって定義された toHandlePhoneAccountHandleConnectionServiceバインドし、 を呼び出ConnectionService#onCreateOutgoingHandoverConnection(PhoneAccountHandle, ConnectionRequest)して、呼び出しを引き渡す要求が行われたことを宛先アプリに通知します。< アプリは、ハンドオーバー呼び出しを表す の Connection インスタンスを返します。この時点で、アプリは UI を表示して、呼び出しのハンドオーバーが処理中であることをユーザーに示す必要があります。

宛先アプリは、em initiating/em デバイスから em receiving</em>> デバイスへの引き渡し要求を><通信する役割を<担います。><

em>receiving/em> デバイス上の<アプリがハンドオーバー要求を<受信すると、 が呼び出TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle)され、em>initiating/em> デバイスから <em>receiving</em> デバイスへの<引き渡しプロセスが<続行されます。 この時点で、em>receiving</em> デバイス上の<宛先アプリに UI が表示され、ユーザーは宛先アプリで通話を続行するかどうかを選択できるようになります。

em>receiving/em> デバイス上の<宛先アプリが を<呼び出TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle)すと、Telecom は にConnectionServiceバインドし、 を呼び出ConnectionService#onCreateIncomingHandoverConnection(PhoneAccountHandle, ConnectionRequest)して引き渡し要求を通知します。 アプリは、ハンドオーバー呼び出しを表す の Connection インスタンスを返します。

em receiving</em> デバイスのユーザーが<引き渡しを受け入れた場合、アプリは を呼び出Connection#setActive()して引き渡しプロセスを完了>します。Telecom は元の呼び出しを切断します。 ユーザーがハンドオーバーを拒否した場合、アプリは を呼び出Connection#setDisconnected(DisconnectCause)し、 を指定DisconnectCauseDisconnectCause#CANCELEDして、引き渡しが取り消されたことを示します。

Telecom では、 を宣言PhoneAccount#EXTRA_SUPPORTS_HANDOVER_FROMする からのPhoneAccountハンドオーバーのみが許可されます。 同様に、 でtoHandle指定された は PhoneAccount を宣言PhoneAccount#EXTRA_SUPPORTS_HANDOVER_TOする必要があります。

引き継ぎプロセスのエラーは、 を介して Callback#onHandoverFailed(Call, int)InCallService報告されます。 引き継ぎプロセスのエラーは、 を介してConnectionService#onHandoverFailed(ConnectionRequest, int)関係ConnectionServiceする に報告されます。

の Java ドキュメント android.telecom.Call.handoverTo(android.telecom.PhoneAccountHandle, int, android.os.Bundle)

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象