다음을 통해 공유


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는 인계 후 원하는 비디오 상태를 나타냅니다.

호출 인계는 진행 중인 호출이 한 앱에서 다른 앱으로 ConnectionService 전송되는 프로세스입니다. 예를 들어 사용자는 화상 통화 앱에서 모바일 네트워크 통화를 계속하도록 선택할 수 있습니다. 전화 통신 스택을 통한 모바일 네트워크 호출을 핸드오버의 원본이라고 하며 화상 통화 앱을 대상이라고 합니다.

인계 시나리오를 고려할 때 이 메서드가 호출되는 디바이스는 em 시작/em 디바이스(사용자가 이 디바이스에서 인계를 시작하기 때문에)로 간주<되고 다른 디바이스는 em>수신</em> 디바이스로 간주됩니다<.><>

em initiating/em> 디바이스에서 이 메서드가< 호출되면 Telecom 프레임워크는 정의된 디바이스에 <>PhoneAccountHandletoHandle바인딩 ConnectionService 하고 호출 ConnectionService#onCreateOutgoingHandoverConnection(PhoneAccountHandle, ConnectionRequest) 을 호출하여 대상 앱에 호출을 인계하기 위한 요청이 이루어졌다는 것을 대상 앱에 알립니다. 앱은 인계 호출을 나타내는 인스턴스 Connection 를 반환합니다. 이 시점에서 앱은 사용자에게 호출 인계가 처리 중임을 나타내는 UI를 표시해야 합니다.

대상 앱은 em 시작</em 디바이스에서 <em>수신</em>> 디바이스로 <>핸드오버 요청을 전달하는 역할을 담당합니다.

em>수신/em 디바이스의 <앱이 인계 요청을 받으면 em 시작</em> 디바이스에서 <em>>수신</em>> 디바이스로의 인계 프로세스를 계속하기 위해 <호출TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle)<합니다. 이 시점에서 em>수신</em> 디바이스의 <대상 앱은 사용자가 대상 앱에서 통화를 계속할지 여부를 선택할 수 있도록 UI를 표시해야 합니다.

em 수신/em> 디바이스에서 대상 앱<이 호출TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle)되면 Telecom은 해당 ConnectionService 앱에 바인딩하고 호출 ConnectionService#onCreateIncomingHandoverConnection(PhoneAccountHandle, ConnectionRequest) 하여 인계 요청을 알릴 수 있습니다.<> 앱은 인계 호출을 나타내는 인스턴스 Connection 를 반환합니다.

em 수신/em> 디바이스의 <사용자가 인계를 수락하는 경우 앱은 인계 프로세스를 완료하기 위해 호출Connection#setActive()<>합니다. Telecom은 원래 호출의 연결을 끊습니다. 사용자가 인계를 거부하는 경우 앱은 인계가 취소되었음을 나타내는 of을 호출 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사용자에게 보고됩니다.

에 대한 android.telecom.Call.handoverTo(android.telecom.PhoneAccountHandle, int, android.os.Bundle)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상