次の方法で共有


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

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

videoState
VideoProfileState

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

extras
Bundle

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

属性

注釈

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

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

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

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

宛先アプリは、em Initiating/em デバイスから em receiving</em>> デバイスへのハンドオーバー要求を<>通信する役割を<担います。><

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

em>の宛先アプリ<がデバイス呼び出しTelecomManager#acceptHandover(Uri, int, PhoneAccountHandle)を<受信/em> すると、Telecom はそのデバイスにConnectionServiceバインドされ、ハンドオーバー要求を通知する呼び出ConnectionService#onCreateIncomingHandoverConnection(PhoneAccountHandle, ConnectionRequest)しが行われます。 アプリは、ハンドオーバー呼び出しを表すインスタンス Connection を返します。

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

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

引き渡しプロセスのエラーは Via にInCallServiceCallback#onHandoverFailed(Call, int)報告されます。 引き渡しプロセスのエラーは、関係 ConnectionServiceする s ConnectionService#onHandoverFailed(ConnectionRequest, int)に報告されます。

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

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象