Trang này mô tả cách triển khai 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 có thính giác kém, thay thế cho công nghệ máy đánh chữ (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 khi đang nhập theo từng ký tự, hỗ trợ giao tiế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ả phương thức gọi và phương thức nhận đều có thông báo cho biết họ đang ở trong một cuộc gọi RTT. Khi kết nối, cả hai bên sẽ tham gia cuộc gọi RTT, trong đó bàn phím và phương thức nhập văn bản sẽ được kích hoạt. Khi nhập, văn bản sẽ xuất hiện và được gửi đi khi được nhập, từng ký tự một.
Ví dụ và nguồn
Các thành phần khung có trong AOSP tại Call.RttCall và Connection.RttTextStream. Các thành phần IMS/mô-đun là tài sản độc quyền và phải do nhà cung cấp IMS/mô-đun cung cấp. Bạn cũng có thể triển khai tham chiếu RTT của Trình quay số.
Mã Trình quay số AOSP cho RTT:
- InCall: /java/com/android/incallui/rtt
- Nhật ký cuộc gọi: /java/com/android/dialer/rtt
Triển khai
Để triển khai RTT, bạn nên làm việ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 điều chỉnh cho phiên bản cũ danh sách bản vá khung điện thoại vào Android 8.0. Các API được thêm vào Android 8.0 AOSP sẽ không hoạt động.
Tính năng này sử dụng các API công khai trong AOSP (Dự án nguồn mở Android) 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. Điều này yêu cầu:
- Bật/tắt RTT bằng
ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)
- Cho biết trạng thái RTT của một cuộc gọi bằ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 cung cấp thông qua chế độ 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à kiểm thử RTT của trình quay số.
Kiểm thử CTS
Các kiểm thử CTS (android.cts.telecom.RttOperationsTest
) bao gồm phần triển khai AOSP. 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 trong quá trình triển khai.
Kiểm thử RTT của trình quay số
Mô tả tình huống | Mô phỏng giao diện người dùng |
---|---|
Nếu RTT bị tắt trên thiết bị, một hộp thoại về RTT sẽ xuất hiện. | |
Trong phần cài đặt của Trình quay số, bạn có thể thấy 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 tuỳ chọn để chọn một chế độ RTT khác. | |
Khi RTT được bật theo mặc định:
|
|
Nếu RTT bị tắt trên thiết bị:
|
|
Nếu bạn bật tính năng RTT trên thiết bị và đặt chế độ mặc định là trả lời tất cả cuộc gọi dưới dạng RTT:
|
|
Trong giao diện người dùng trong cuộc gọi cho RTT, các tuỳ 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:
|
|
Trên 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 cuộc trò chuyện đầy đủ 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ẽ hiển thị. 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. |