Wdrażanie tekstu w czasie rzeczywistym

Z tej strony dowiesz się, jak zaimplementować wysyłanie SMS-ów w czasie rzeczywistym (RTT) w Androidzie 9. RTT to funkcja dla użytkowników niesłyszących i niedosłyszących, która zastępuje technologię teletypu (TTY). Dzięki tej funkcji urządzenia mogą używać tego samego numeru telefonu do połączeń głosowych i RTT, jednocześnie przesyłać tekst w miarę jego wpisywania, obsługiwać połączenia alarmowe 911 oraz zapewniać zgodność wsteczną z urządzeniami TTY.

Podczas połączenia RTT zarówno dzwoniąca osoba, jak i odbiorca widzą, że jest to połączenie RTT. Po połączeniu obie strony uczestniczą w wywołaniu RTT, gdzie aktywowane jest wprowadzanie tekstu i klawiatura. Podczas pisania tekst jest wyświetlany i wysyłany pojedynczo, znak po znaku.

Przykłady i źródło

Komponenty frameworka są dostępne w AOSP w Call.RttCallConnection.RttTextStream. Komponenty IMS/modem są zastrzeżone i powinny być dostarczane przez dostawcę IMS/modem. Dostępna jest też implementacja referencyjna RTT w dialerze.

Kod dialera AOSP dla RTT:

Implementacja

Aby wdrożyć RTT, musisz współpracować z dostawcą modemu lub SoC, ponieważ wymagany jest modem obsługujący RTT. Możesz przejść na Androida 9 lub przenieść na Androida 8.0 listę poprawek frameworka telefonii. Interfejsy API dodane w Androidzie 8.0 AOSP nie będą działać.

Ta funkcja używa publicznych interfejsów API w AOSP w android.telecom i @SystemApis w android.telephony.ims. Cały interfejs użytkownika znajduje się w com.android.phone i dialerze AOSP.

Aby zaimplementować RTT, zaimportuj kod AOSP i udostępnij pakiet IMS, który implementuje interfejs @SystemApis po stronie IMS dla RTT. Wymaga to:

  • Włączanie i wyłączanie RTT za pomocą ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)
  • Wskazanie stanu RTT połączenia za pomocą ImsStreamMediaProfile#mRttMode
  • Obsługa tych metod w ImsCallSession:

    • sendRttMessage
    • sendRttModifyRequest
    • sendRttModifyResponse
  • Obsługa wywoływania tych metod w ImsCallSessionListener:

    • callSessionRttModifyRequestReceived
    • callSessionRttModifyResponseReceived
    • callSessionRttMessageReceived

Dostosowywanie

Tę funkcję można włączyć lub wyłączyć za pomocą konfiguracji urządzenia (config_support_rtt) w nakładce konfiguracji urządzenia dotyczącej packages/services/Telephony i flagi konfiguracji operatora (CarrierConfigManager.RTT_SUPPORTED_BOOL) w plikach konfiguracji operatora. W zależności od konfiguracji funkcja może być dostępna w ustawieniach Ułatwienia dostępu lub nie. Ustawienia domyślne można zmienić w konfiguracji urządzenia. Domyślnie funkcja jest wyłączona.

Weryfikacja

Aby sprawdzić implementację RTT, uruchom testy CTS i testy RTT w dialerze.

Testowanie CTS

Testy CTS (android.cts.telecom.RttOperationsTest) obejmują część AOSP wdrożenia. W przypadku implementacji dotyczącej pakietu IMS musisz przeprowadzić własne testy.

Testowanie RTT telefonu

Opis scenariusza Przykład interfejsu
Jeśli RTT jest wyłączony na urządzeniu, pojawi się okno z informacjami o RTT.

Baner RTT

W ustawieniach Dialera w sekcji Ustawienia > Ułatwienia dostępu jest dostępny ekran Wysyłanie SMS-ów w czasie rzeczywistym, na którym można wybrać inny tryb RTT.

Dostępność połączeń RTT

Gdy RTT jest domyślnie włączone:
  • Podczas nawiązywania połączenia wyświetla się standardowy interfejs wybierania podczas połączenia.
  • Po nawiązaniu połączenia wyświetli się widok trybu RTT. Jeśli użytkownik nie korzysta z domyślnego trybu RTT, podczas oczekiwania na odpowiedź wyświetla się baner z informacją o wymaganym trybie RTT.

Interfejs RTT podczas rozmowy

Jeśli na urządzeniu funkcja RTT jest wyłączona:
  • Ekran połączenia przychodzącego wyświetla standardową płytkę do odbierania połączeń i standardowe etykiety połączeń.

Standardowy interfejs połączenia RTT

Jeśli RTT jest włączone na urządzeniu i domyślnie ustawione jest odbieranie wszystkich połączeń w ramach RTT:
  • Ekran połączenia przychodzącego wyświetla krążek RTT i powiązane etykiety połączeń.
  • Odebranie połączenia spowoduje załadowanie widoku trybu RTT z włączoną klawiaturą.

Widok trybu RTT

W interfejsie połączenia RTT dostępne są opcje, które umożliwiają użytkownikom kontrolowanie stanu połączenia głosowego i uzyskiwanie ogólnych informacji o używaniu RTT:
  • Włącz lub wyłącz mikrofon.
  • Włącz lub wyłącz głośnik.
  • Użyj klawiatury jako wejścia.
  • Dodaj kolejną rozmowę.
  • Przełączanie się z połączenia RTT na połączenie głosowe.
  • Włącz lub wyłącz przytrzymanie.

Opcje interfejsu RTT podczas rozmowy

Na ekranie Szczegóły połączenia kliknięcie linku Wyświetl transkrypcję powoduje wyświetlenie pełnej rozmowy z pełnym tekstem sesji RTT. Wyświetlane są sygnatury czasowe. Użytkownik może wrócić do ekranu Szczegóły połączenia, naciskając przycisk Wstecz.

Szczegóły połączenia RTT