Triển khai văn bản theo thời gian thực

Trang này mô tả cách triển khai tính năng tin nhắn theo thời gian thực (RTT) trong Android 9. RTT là một tính năng dành cho người dùng khiếm thính hoặc bị suy giảm thính lực, thay thế cho công nghệ máy điện báo (TTY). Với tính năng này, các thiết bị có thể sử dụng cùng một số điện thoại cho cuộc gọi thoại và cuộc gọi RTT, đồng thời truyền văn bản ngay khi văn bản được nhập từng ký tự, hỗ trợ liên lạc với số điện thoại khẩn cấp 911 và cung cấp khả năng tương thích ngược với TTY.

Trong cuộc gọi RTT, cả người gọi và người nhận đều có dấu hiệu cho thấy họ đang thực hiện cuộc gọi RTT. Khi kết nối, cả hai bên sẽ tham gia cuộc gọi RTT, trong đó chế độ nhập văn bản và bàn phím được kích hoạt. Khi bạn nhập, văn bản sẽ xuất hiện và được gửi theo từng ký tự.

Ví dụ và nguồn

Các thành phần khung có trong AOSP tại Call.RttCallConnection.RttTextStream. Các thành phần IMS/modem là độc quyền và phải do nhà cung cấp IMS/modem cung cấp. Bạn cũng có thể tham khảo cách triển khai RTT của ứng dụng Quay số.

Mã Trình quay số AOSP cho RTT:

Triển khai

Để triển khai RTT, bạn nên hợp tác với nhà cung cấp modem/SoC vì cần có modem hỗ trợ RTT. Bạn có thể nâng cấp lên Android 9 hoặc chuyển ngược một danh sách các bản vá khung truyền thông vào Android 8.0. Các API được thêm vào AOSP Android 8.0 sẽ không hoạt động.

Tính năng này sử dụng các API công khai trong AOSP trong android.telecom và @SystemApis trong android.telephony.ims. Tất cả giao diện người dùng đều nằm trong com.android.phone và trình quay số AOSP.

Để triển khai RTT, hãy nhập mã AOSP và cung cấp một ngăn xếp IMS triển khai @SystemApis phía IMS cho RTT. Việc này đòi hỏi:

  • Bật/tắt RTT bằng cách sử dụng ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)
  • Cho biết trạng thái RTT của cuộc gọi bằng cách sử dụng ImsStreamMediaProfile#mRttMode
  • Hỗ trợ các phương thức sau trong ImsCallSession:

    • sendRttMessage
    • sendRttModifyRequest
    • sendRttModifyResponse
  • Hỗ trợ gọi các phương thức sau trong ImsCallSessionListener:

    • callSessionRttModifyRequestReceived
    • callSessionRttModifyResponseReceived
    • callSessionRttMessageReceived

Tuỳ chỉnh

Bạn có thể bật hoặc tắt tính năng này bằng cách sử dụng cấu hình thiết bị config_support_rtt trong lớp phủ cấu hình thiết bị cho packages/services/Telephony và cờ cấu hình nhà mạng CarrierConfigManager.RTT_SUPPORTED_BOOL trong các tệp cấu hình nhà mạng. Tuỳ thuộc vào cấu hình, tính năng này có thể có trong phần Cài đặt hỗ trợ tiếp cận hoặc không. Sử dụng cấu hình thiết bị để thay đổi chế độ cài đặt mặc định. Theo mặc định, tính năng này được đặt thành Tắt.

Xác nhận kết quả

Để xác thực việc triển khai RTT, hãy chạy các kiểm thử CTS và thực hiện kiểm thử RTT của trình quay số.

Thử nghiệm CTS

Các kiểm thử CTS (android.cts.telecom.RttOperationsTest) bao gồm phần AOSP của quá trình triển khai. Bạn phải cung cấp các bài kiểm thử của riêng mình cho phần ngăn xếp IMS của quá trình triển khai.

Kiểm thử RTT trên ứng dụng Quay số

Mô tả tình huống Bản mô phỏng giao diện người dùng
Nếu tính năng RTT bị tắt trên thiết bị, một hộp thoại về RTT sẽ xuất hiện.

Biểu ngữ RTT

Trong phần cài đặt của ứng dụng Quay số, bạn có thể truy cập vào màn hình Tin nhắn theo thời gian thực trong phần Cài đặt > Hỗ trợ tiếp cận. Màn hình này cung cấp một lựa chọn để chọn chế độ RTT khác.

Hỗ trợ tiếp cận RTT

Khi RTT được bật theo mặc định:
  • Trong khi cuộc gọi đang diễn ra, giao diện người dùng quay số trong cuộc gọi tiêu chuẩn sẽ xuất hiện.
  • Khi cuộc gọi kết nối, chế độ RTT sẽ xuất hiện. Nếu người dùng nhận không chuyển sang chế độ RTT theo mặc định, thì một biểu ngữ cho biết chế độ RTT đã được yêu cầu sẽ xuất hiện trong khi chờ phản hồi.

Giao diện người dùng RTT trong cuộc gọi

Nếu RTT bị tắt trên thiết bị:
  • Màn hình cuộc gọi đến hiển thị nút trả lời chuẩn và nhãn cuộc gọi chuẩn.

Giao diện người dùng cuộc gọi tiêu chuẩn qua RTT

Nếu RTT được bật trên thiết bị và được đặt mặc định để trả lời tất cả cuộc gọi ở chế độ RTT:
  • Màn hình cuộc gọi đến hiển thị nút RTT và nhãn cuộc gọi liên quan.
  • Khi bạn trả lời cuộc gọi, chế độ RTT sẽ tải khung hiển thị có bàn phím.

Chế độ xem RTT

Trong giao diện người dùng trong cuộc gọi cho RTT, các lựa chọn được cung cấp để cho phép người dùng kiểm soát trạng thái của cuộc gọi thoại và nhận trợ giúp chung về cách sử dụng RTT:
  • Bật và tắt micrô.
  • Bật và tắt loa.
  • Dùng bàn phím làm phương thức nhập.
  • Thêm một cuộc gọi khác.
  • Chuyển từ cuộc gọi dùng tính năng RTT sang cuộc gọi thoại.
  • Bật và tắt chế độ giữ cuộc gọi.

Các lựa chọn về giao diện người dùng trong cuộc gọi qua RTT

Trong màn hình Chi tiết cuộc gọi, khi bạn chọn đường liên kết Xem bản chép lời, một chế độ xem toàn bộ cuộc trò chuyện sẽ xuất hiện cùng với toàn bộ văn bản của phiên RTT. Dấu thời gian sẽ xuất hiện. Người dùng có thể quay lại màn hình Chi tiết cuộc gọi bằng nút quay lại.

Chi tiết cuộc gọi qua RTT