Wdrażanie tekstu w czasie rzeczywistym

Z tego artykułu dowiesz się, jak wdrożyć tekst w czasie rzeczywistym (RTT) na urządzeniu z Androidem 9. RTT to funkcja dla osób niesłyszących lub niedosłyszących, która zastępuje technologię teleksu (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ę wpisywania znak po znaku, obsługiwać połączenia z numerem alarmowym 911 i zapewniać zgodność wsteczną z urządzeniami TTY.

Podczas połączenia RTT zarówno rozmówca, jak i odbiorca widzą informację, że uczestniczą w połączeniu RTT. Po połączeniu obie strony przechodzą do połączenia RTT, w którym aktywowane jest wpisywanie tekstu i klawiatura. Podczas pisania tekst pojawia się i jest wysyłany na bieżąco, znak po znaku.

Przykłady i źródło

Komponenty platformy są dostępne w AOSP w klasach Call.RttCallConnection.RttTextStream. Komponenty IMS/modemu są objęte prawami własności i powinny być dostarczane przez dostawcę IMS/modemu. Dostępna jest też referencyjna implementacja RTT w aplikacji do wybierania numerów.

Kod dialera AOSP dla RTT:

Implementacja

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

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

Aby wdrożyć RTT, zaimportuj kod AOSP i dostarcz stos IMS, który implementuje interfejsy API systemu po stronie IMS dla RTT. Wymagania:

  • Włączanie i wyłączanie RTT za pomocą ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)
  • Informowanie o stanie połączenia RTT 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żesz włączyć lub wyłączyć za pomocą konfiguracji urządzenia, config_support_rtt w nakładce konfiguracji urządzenia dla packages/services/Telephony oraz flagi konfiguracji operatora, CarrierConfigManager.RTT_SUPPORTED_BOOL w plikach konfiguracji operatora. W zależności od konfiguracji funkcja jest dostępna w ustawieniach ułatwień dostępu lub nie. Aby zmienić ustawienia domyślne, użyj konfiguracji urządzenia. Domyślnie ta funkcja jest wyłączona.

Weryfikacja

Aby sprawdzić implementację RTT, uruchom testy CTS i przeprowadź testy RTT w aplikacji do wybierania numerów.

Testy CTS

Testy CTS (android.cts.telecom.RttOperationsTest) obejmują część implementacji AOSP. Musisz dostarczyć własne testy dla części implementacji dotyczącej stosu IMS.

Testowanie RTT w aplikacji Telefon

Opis scenariusza Makieta interfejsu
Jeśli RTT jest wyłączona na urządzeniu, wyświetli się okno dialogowe dotyczące RTT.

Baner RTT

W ustawieniach aplikacji Telefon dostępny jest ekran Wysyłanie SMS-ów w czasie rzeczywistym w sekcji Ustawienia > Ułatwienia dostępu, który umożliwia wybór innego trybu RTT.

Ułatwienia dostępu RTT

Gdy RTT jest domyślnie włączone:
  • Podczas połączenia wyświetla się standardowy interfejs wybierania numeru.
  • Po nawiązaniu połączenia wyświetli się widok trybu RTT. Jeśli użytkownik, do którego dzwonisz, nie ma domyślnie włączonego trybu RTT, podczas oczekiwania na odpowiedź wyświetli się baner z informacją, że tryb RTT został włączony.

Interfejs RTT podczas połączenia

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

Standardowy interfejs połączeń RTT

Jeśli RTT jest włączone na urządzeniu i ma domyślne ustawienie odbierania wszystkich połączeń jako połączeń RTT:
  • Na ekranie połączenia przychodzącego wyświetla się ikona RTT i powiązane etykiety połączenia.
  • Odebranie połączenia powoduje wczytanie 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ólnej pomocy dotyczącej korzystania z RTT:
  • Włącz i wyłącz mikrofon.
  • Włącz lub wyłącz głośnik.
  • Użyj klawiatury jako wejścia.
  • Dodaj kolejną rozmowę.
  • Przełączanie połączenia RTT na połączenie głosowe.
  • Włącz lub wyłącz przytrzymanie.

Opcje interfejsu połączeń RTT

Na ekranie Szczegóły połączenia kliknij link Zobacz transkrypcję, aby wyświetlić pełną rozmowę z całym tekstem sesji RTT. Wyświetlane są sygnatury czasowe. Użytkownik może wrócić do ekranu Szczegóły połączenia, klikając przycisk Wstecz.

Szczegóły połączenia RTT