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<>.<

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

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

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

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

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

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

Об ошибках в процессе передачи сообщается через InCallServiceCallback#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 License.

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