Поделиться через


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 указывает требуемое состояние видео после передачи.

Передача вызовов — это процесс, в котором текущий вызов передается из одного приложения (т. е. ConnectionService в другое приложение. Например, пользователь может продолжить вызов мобильной сети в приложении для видеозвонка. Вызов мобильной сети через стек телефонии называется источником передачи, а приложение для видеозвонков называется назначением.

При рассмотрении сценария передачи устройство, на котором вызывается этот метод, считается устройством,>инициирующим< эм/em> (так как пользователь инициирует передачу с этого устройства), а другой — <устройством,>< получающим или em>.<

При вызове этого метода на <устройстве,>инициируемом< и эм> , платформа Telecom привязывается к ConnectionService определенному toHandlePhoneAccountHandle и вызывается ConnectionService#onCreateOutgoingHandoverConnection(PhoneAccountHandle, ConnectionRequest) для информирования целевого приложения о том, что запрос был сделан для передачи вызова к нему. Приложение возвращает экземпляр Connection для представления вызова передачи в этот момент, когда приложение должно отображать пользовательский интерфейс, чтобы указать пользователю, что передача вызова выполняется.

Целевое приложение отвечает за обмен запросом на передачу с устройства,>инициирующего>< и эм, на <устройство em>get</em>.<

Когда приложение на <устройстве em>receive</em> получает запрос на передачу данных, он вызывает TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle) продолжение процесса передачи с <>устройства, инициирующего< или эм>, на <устройство em>receive</em>. На этом этапе целевое приложение на <устройстве em>получения< или em> должно отображать пользовательский интерфейс, чтобы разрешить пользователю выбрать, хотите ли они продолжить вызов в целевом приложении.

Когда целевое приложение на вызовах>TelecomManager#acceptHandover(Uri, int, PhoneAccountHandle)< em get</em> устройства, Telecom привязывается к нему ConnectionService и вызовет ConnectionService#onCreateIncomingHandoverConnection(PhoneAccountHandle, ConnectionRequest) его, чтобы сообщить о запросе на передачу данных. Приложение возвращает экземпляр Connection для представления вызова передачи.

Если пользователь <устройства em>получения< или em> принимает передачу, приложение вызывает Connection#setActive() процесс передачи; Telecom отключит исходный звонок. Если пользователь отклоняет передачу, приложение вызывает Connection#setDisconnected(DisconnectCause) и указывает, DisconnectCause DisconnectCause#CANCELED что передача была отменена.

Telecom разрешает передачу только из PhoneAccounts, которые объявляют PhoneAccount#EXTRA_SUPPORTS_HANDOVER_FROM. Аналогичным образом, указанный PhoneAccount в toHandle PhoneAccount#EXTRA_SUPPORTS_HANDOVER_TOобъявлении.

Ошибки в процессе передачи передаются через InCallService Callback#onHandoverFailed(Call, int). Сообщения об ошибках в процессе передачи передаются участвующим ConnectionServiceс помощью ConnectionService#onHandoverFailed(ConnectionRequest, int).

Документация по Java для android.telecom.Call.handoverTo(android.telecom.PhoneAccountHandle, int, android.os.Bundle).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к