Call.HandoverTo(PhoneAccountHandle, VideoProfileState, Bundle) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
起始這個 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表示交接之後所需的視訊狀態。
通話交接是將進行中的通話從一個應用程式轉接的程式(也就是 ConnectionService
另一個應用程式。 例如,使用者可以選擇在視訊通話應用程式中繼續行動網路通話。 透過 Telephony 堆疊進行行動網路通話稱為交接的來源,而視訊通話應用程式稱為目的地。
考慮交接案例時,呼叫此方法的裝置會被視為 <em>起始</em> 裝置(因為使用者起始此裝置的交接),而另一個裝置會 <被視為 em>接收</em> 裝置。
在em起始/em裝置上<呼叫這個方法時,電信架構會系結至 ConnectionService
所PhoneAccountHandle
toHandle
定義的 ,並叫ConnectionService#onCreateOutgoingHandoverConnection(PhoneAccountHandle, ConnectionRequest)
用 以通知目的地應用程式已提出要求以將呼叫移交給它。<>> 應用程式會傳回的實例 Connection
,代表交接呼叫此時應用程式應該顯示UI,以向使用者指出通話交接正在進行中。
目的地應用程式負責將來自 em 起始/em> 裝置的移交要求<通訊至 <em> 接收</em> 裝置。<>
當 em> 接收 / em> 裝置上的<應用程式收到交接要求時,它會呼叫 TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle)
以繼續從 <em> 起始</em 裝置到 em>receiveing<</em>> 裝置的<交接程式。 此時,em>接收</em> 裝置上的<目的地應用程式應該會顯示 UI,讓用戶選擇是否要在目的地應用程式中繼續呼叫。
當 em 接收/ em> 裝置上的<目的地應用程式呼叫 TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle)
時,Telecom 會系結至其 並呼叫 ConnectionService#onCreateIncomingHandoverConnection(PhoneAccountHandle, ConnectionRequest)
以通知其ConnectionService
交接要求。<> 應用程式會傳回的 Connection
實例來表示交接呼叫。
如果 em 接收/em> 裝置的使用者<接受交接,應用程式會呼叫 Connection#setActive()
以完成交接<>程式;電信會中斷原始通話的連線。 如果使用者拒絕交接,應用程式會呼叫 Connection#setDisconnected(DisconnectCause)
並指定 DisconnectCause
的 DisconnectCause#CANCELED
,以指出已取消交接。
電信只允許從 PhoneAccount
宣告 PhoneAccount#EXTRA_SUPPORTS_HANDOVER_FROM
的交接。 同樣地, PhoneAccount
所 toHandle
指定的 必須宣告 PhoneAccount#EXTRA_SUPPORTS_HANDOVER_TO
。
交接程式中的錯誤會透過Callback#onHandoverFailed(Call, int)
回報給 InCallService
。 交接程式中的錯誤會透過ConnectionService#onHandoverFailed(ConnectionRequest, int)
回報給所涉及的 ConnectionService
。
的 android.telecom.Call.handoverTo(android.telecom.PhoneAccountHandle, int, android.os.Bundle)
Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。