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
определенному toHandle
PhoneAccountHandle
и вызывается 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 разрешает передачу только из PhoneAccount
s, которые объявляют PhoneAccount#EXTRA_SUPPORTS_HANDOVER_FROM
. Аналогичным образом, указанный PhoneAccount
в toHandle
PhoneAccount#EXTRA_SUPPORTS_HANDOVER_TO
объявлении.
Ошибки в процессе передачи передаются через InCallService
Callback#onHandoverFailed(Call, int)
. Сообщения об ошибках в процессе передачи передаются участвующим ConnectionService
с помощью ConnectionService#onHandoverFailed(ConnectionRequest, int)
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.