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
объекту, определенному toHandle
PhoneAccountHandle
в и вызывается 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)
и указывает DisconnectCause
DisconnectCause#CANCELED
, чтобы указать, что передача отменена.
Telecom будет разрешать передачу только из , которые PhoneAccount
объявляют 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 License.