Language

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

定義

このCallのConnectionServiceによって識別される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

パラメーター

toHandle
PhoneAccountHandle

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

videoState
VideoProfileState

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

extras
Bundle

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

属性

注釈

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

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

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

このメソッドが <em>initiatinginitiating</em> デバイスで呼び出されると、Telecom フレームワークはConnectionServicetoHandleによって定義されたPhoneAccountHandleにバインドし、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>receivingreceiving</em> デバイスに UI が表示され、ユーザーは宛先アプリで通話を続行するかどうかを選択できるようになります。

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

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

通信では、PhoneAccountを宣言するPhoneAccount#EXTRA_SUPPORTS_HANDOVER_FROMからの引き渡しのみが許可されます。 同様に、PhoneAccount で指定されたtoHandleは、PhoneAccount#EXTRA_SUPPORTS_HANDOVER_TOを宣言する必要があります。

引き渡しプロセスのエラーは、InCallServiceを介してCallback#onHandoverFailed(Call, int)に報告されます。 ハンドオーバー プロセスのエラーは、ConnectionServiceを介して関連するConnectionService#onHandoverFailed(ConnectionRequest, int)に報告されます。

Javaドキュメント。

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

適用対象