Auf dieser Seite wird beschrieben, wie Sie Real-Time Text (RTT) in Android 9 implementieren. RTT ist eine Funktion für gehörlose oder schwerhörige Benutzer, die die Text Telephone (TTY)-Technologie ersetzt. Mit dieser Funktion können Geräte dieselbe Telefonnummer für Sprach- und RTT-Anrufe verwenden, gleichzeitig Text zeichenweise übertragen, während er eingegeben wird, 911-Kommunikation unterstützen und Rückwärtsfunktion mit TTY bereitstellen.
Bei einem RTT-Anruf haben sowohl der Anrufer als auch der Empfänger Hinweise darauf, dass sie sich in einem RTT-Anruf befinden. Wenn die Verbindung hergestellt ist, treten beide Seiten in den RTT-Anruf ein, bei dem die Texteingabe und die Tastatur aktiviert sind. Beim Tippen erscheint der Text und wird während der Eingabe Zeichen für Zeichen gesendet.
Beispiele und Quelle
Framework-Komponenten sind in AOSP unter Call.RttCall und Connection.RttTextStream verfügbar. IMS-/Modemkomponenten sind proprietär und sollten vom IMS-/Modemanbieter bereitgestellt werden. Eine Dialer-RTT-Referenzimplementierung ist ebenfalls verfügbar.
AOSP-Wählcode für RTT:
- InCall: /java/com/android/incallui/rtt
- Anrufprotokoll: /java/com/android/dialer/rtt
Implementierung
Um RTT zu implementieren, sollten Sie mit einem Modem-/SoC-Anbieter zusammenarbeiten, da ein Modem erforderlich ist, das RTT unterstützt. Sie können auf Android 9 aktualisieren oder eine Liste von Telefonie-Framework-Patches in Android 8.0 zurückportieren. In Android 8.0 AOSP hinzugefügte APIs funktionieren nicht.
Diese Funktion verwendet öffentliche APIs in AOSP in android.telecom
und @SystemApis in android.telephony.ims
. Die gesamte Benutzeroberfläche befindet sich in com.android.phone
und dem AOSP-Dialer.
Um RTT zu implementieren, importieren Sie den AOSP-Code und stellen einen IMS-Stack bereit, der das IMS-seitige @SystemApis für RTT implementiert. Dafür braucht man:
- RTT mit
ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)
ein-/ausschalten - Zeigt den RTT-Status eines Anrufs mithilfe von
ImsStreamMediaProfile#mRttMode
an Unterstützung für die folgenden Methoden in
ImsCallSession
:-
sendRttMessage
-
sendRttModifyRequest
-
sendRttModifyResponse
-
Unterstützung für den Aufruf der folgenden Methoden in
ImsCallSessionListener
:-
callSessionRttModifyRequestReceived
-
callSessionRttModifyResponseReceived
-
callSessionRttMessageReceived
-
Anpassung
Sie können diese Funktion mithilfe der Gerätekonfiguration config_support_rtt
im Gerätekonfigurations-Overlay für packages/services/Telephony
und des Netzbetreiber-Konfigurationsflags CarrierConfigManager.RTT_SUPPORTED_BOOL
in den Netzbetreiber-Konfigurationsdateien aktivieren oder deaktivieren. Abhängig von der Konfiguration ist die Funktion entweder über die Eingabehilfen-Einstellungen verfügbar oder nicht. Verwenden Sie die Gerätekonfiguration, um die Standardeinstellungen zu ändern. Standardmäßig ist die Funktion auf Aus eingestellt.
Validierung
Um Ihre RTT-Implementierung zu validieren, führen Sie CTS-Tests und Dialer-RTT-Tests durch.
CTS-Test
Die CTS-Tests ( android.cts.telecom.RttOperationsTest
) decken den AOSP-Teil der Implementierung ab. Sie müssen Ihre eigenen Tests für den IMS-Stack-Teil der Implementierung bereitstellen.
Dialer-RTT-Test
Szenariobeschreibung | UI-Mock |
---|---|
Wenn RTT auf dem Gerät deaktiviert ist, wird ein Dialog zu RTT angezeigt. | |
In den Dialer-Einstellungen ist unter Einstellungen > Barrierefreiheit ein Echtzeittextbildschirm verfügbar, der die Option zur Auswahl eines anderen RTT-Modus bietet. | |
Wenn RTT standardmäßig aktiviert ist:
| |
Wenn RTT auf dem Gerät deaktiviert ist:
| |
Wenn RTT auf dem Gerät aktiviert ist und standardmäßig alle Anrufe als RTT beantwortet werden:
| |
In der In-Call-Benutzeroberfläche für RTT stehen Optionen zur Verfügung, mit denen Benutzer den Status des Sprachanrufs steuern und allgemeine Hilfe zur Verwendung von RTT erhalten können:
| |
Wenn Sie im Bildschirm „Anrufdetails“ auf den Link „Transkript anzeigen“ klicken, wird eine vollständige Konversationsansicht mit dem vollständigen Text der RTT-Sitzung angezeigt. Zeitstempel werden angezeigt. Über die Schaltfläche „Zurück“ kann der Benutzer zum Bildschirm „Anrufdetails“ zurückkehren. |