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
转移到另一个应用)的过程。 例如,用户可以选择在视频呼叫应用中继续移动网络呼叫。 通过电话堆栈进行移动网络呼叫称为交接源,视频呼叫应用称为目标。
在考虑移交方案时,调用该设备时,此方法被视为 <em>发起</em> 设备(因为用户从此设备启动移交),另一台设备被视为 <em>接收</em> 设备。
在 em 发起/em> 设备上调用<此方法时,Telecom 框架将绑定到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
并调用ConnectionService#onCreateIncomingHandoverConnection(PhoneAccountHandle, ConnectionRequest)
以通知其移交<请求。> 应用返回表示交接调用的 Connection
实例。
如果 em 接收/em> 设备的用户<接受交接,应用将调用Connection#setActive()
以完成移交<>过程;电信将断开原始呼叫的连接。 如果用户拒绝交接,应用将调用Connection#setDisconnected(DisconnectCause)
并指定一个DisconnectCause
DisconnectCause#CANCELED
指示已取消交接的命令。
电信将只允许从声明PhoneAccount#EXTRA_SUPPORTS_HANDOVER_FROM
的交接PhoneAccount
。 同样, PhoneAccount
由指定者 toHandle
必须声明 PhoneAccount#EXTRA_SUPPORTS_HANDOVER_TO
。
交接过程中的错误将报告给 InCallService
通过 Callback#onHandoverFailed(Call, int)
。 交接过程中的错误通过向所涉及的 ConnectionService
人员 ConnectionService#onHandoverFailed(ConnectionRequest, int)
报告。
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。