На этой странице описано, как реализовать передачу текста в реальном времени (RTT) в Android 9. RTT — это функция для глухих или слабослышащих пользователей, заменяющая технологию телетайпа (TTY). Благодаря этой функции устройства могут использовать один и тот же номер телефона для голосовых вызовов и вызовов RTT, одновременно передавать текст по мере его ввода, посимвольно, поддерживать связь с экстренными службами 911 и обеспечивать обратную связь с TTY.
В режиме RTT (Return on Time — вызов по времени) и вызывающий, и принимающий абонент получают информацию о том, что они находятся в режиме RTT. После установления соединения обе стороны подключаются к вызову RTT, где активируются ввод текста и клавиатура. При наборе текста он отображается и передается по мере ввода, символ за символом.
Примеры и источник
Компоненты фреймворка доступны в AOSP по адресам Call.RttCall и Connection.RttTextStream . Компоненты IMS/модема являются проприетарными и должны предоставляться поставщиком IMS/модема. Также доступна эталонная реализация RTT для дозвонщика.
Код AOSP Dialer для RTT:
- InCall: /java/com/android/incallui/rtt
- Журнал звонков: /java/com/android/dialer/rtt
Выполнение
Для реализации RTT вам потребуется сотрудничать с поставщиком модема/SoC, поскольку модем должен поддерживать RTT. Вы можете обновиться до Android 9 или перенести список патчей для фреймворка телефонии в Android 8.0. API, добавленные в Android 8.0 AOSP, работать не будут.
Эта функция использует общедоступные API из AOSP в android.telecom и @SystemApis в android.telephony.ims . Весь пользовательский интерфейс находится в com.android.phone и в AOSP-звонилке.
Для реализации RTT необходимо импортировать код AOSP и предоставить стек IMS, реализующий аннотацию @SystemApis для RTT на стороне IMS. Для этого требуется:
- Включение/выключение RTT с помощью
ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED) - Отображение статуса RTT вызова с помощью
ImsStreamMediaProfile#mRttMode В
ImsCallSessionподдерживаются следующие методы:-
sendRttMessage -
sendRttModifyRequest -
sendRttModifyResponse
-
Поддерживается вызов следующих методов в
ImsCallSessionListener:-
callSessionRttModifyRequestReceived -
callSessionRttModifyResponseReceived -
callSessionRttMessageReceived
-
Настройка
Включить или отключить эту функцию можно с помощью параметра конфигурации устройства config_support_rtt в оверлее конфигурации устройства для packages/services/Telephony , а также флага конфигурации оператора связи CarrierConfigManager.RTT_SUPPORTED_BOOL в файлах конфигурации оператора. В зависимости от конфигурации, функция либо доступна через настройки специальных возможностей, либо нет. Используйте конфигурацию устройства для изменения настроек по умолчанию. По умолчанию функция отключена.
Валидация
Для проверки правильности вашей реализации RTT запустите тесты CTS и проведите тестирование RTT для дозвонщика.
тестирование CTS
Тесты CTS ( android.cts.telecom.RttOperationsTest ) охватывают часть реализации, относящуюся к AOSP. Для части реализации, относящейся к стеку IMS, необходимо предоставить собственные тесты.
Тестирование RTT дозвонщика
| Описание сценария | макет пользовательского интерфейса |
|---|---|
| Если функция RTT отключена на устройстве, отобразится диалоговое окно, касающееся RTT. |
|
| В настройках номеронабирателя в разделе «Настройки» > «Специальные возможности» доступен экран «Текст в реальном времени», где можно выбрать другой режим отображения текста в реальном времени. |
|
Когда RTT включен по умолчанию:
|
|
Если на устройстве отключена функция RTT:
|
|
Если на устройстве включена функция RTT и по умолчанию установлено отвечать на все вызовы через RTT:
|
|
В пользовательском интерфейсе RTT во время разговора предусмотрены опции, позволяющие пользователям управлять состоянием голосового вызова и получать общую справку по использованию RTT:
|
|
| На экране сведений о звонке выбор ссылки «Посмотреть стенограмму» отображает полную запись разговора с полным текстом сеанса RTT. Отображаются временные метки. Пользователь может вернуться на экран сведений о звонке, используя кнопку «Назад». |
|






