本頁說明如何在 Android 9 中實作即時文字訊息 (RTT)。即時文字訊息功能適用於失聰或聽障使用者,可取代電傳打字機 (TTY) 技術。這項功能可讓裝置使用同一組電話號碼撥打語音和即時文字訊息電話、在輸入文字時逐字傳送、支援 911 通訊,以及提供 TTY 回溯功能。
在即時文字訊息通話中,來電者和通話對象都會看到自己正在進行即時文字訊息通話的指標。連線後,雙方都會進入即時文字訊息通話,並啟用文字輸入和鍵盤。輸入文字時,系統會逐字顯示並傳送文字。
範例和來源
架構元件位於 Android 開放原始碼計畫的「Call.RttCall」和「Connection.RttTextStream」。IMS/數據機元件為專屬元件,應由 IMS/數據機供應商提供。我們也提供撥號器 RTT 參考實作。
Android 開放原始碼計畫撥號器 RTT 程式碼:
- InCall: /java/com/android/incallui/rtt
- 通話記錄: /java/com/android/dialer/rtt
導入作業
如要實作 RTT,請與數據機/SoC 供應商合作,因為必須使用支援 RTT 的數據機。您可以升級至 Android 9,或將一系列電話架構修補程式回溯移植到 Android 8.0。Android 8.0 AOSP 新增的 API 無法運作。
這項功能會使用 AOSP 中的公用 API (位於 android.telecom) 和 @SystemApis (位於 android.telephony.ims)。所有 UI 都位於 com.android.phone 和 AOSP 撥號器中。
如要實作 RTT,請匯入 AOSP 程式碼,並提供實作 RTT 的 IMS 端 @SystemApis 的 IMS 堆疊。請按照下列步驟操作:
- 使用
ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)開啟/關閉即時文字訊息功能 - 使用
ImsStreamMediaProfile#mRttMode指示通話的即時文字訊息狀態 ImsCallSession支援下列方法:sendRttMessagesendRttModifyRequestsendRttModifyResponse
支援在
ImsCallSessionListener中呼叫下列方法:callSessionRttModifyRequestReceivedcallSessionRttModifyResponseReceivedcallSessionRttMessageReceived
自訂
您可以在裝置設定 (packages/services/Telephony 的裝置設定疊加層) 中,使用裝置設定 config_support_rtt,以及在電信業者設定檔中使用電信業者設定旗標 CarrierConfigManager.RTT_SUPPORTED_BOOL,啟用或停用這項功能。視設定而定,這項功能可能無法透過「無障礙設定」使用。使用裝置設定檔變更預設設定。這項功能預設為關閉。
驗證
如要驗證 RTT 導入狀態,請執行 CTS 測試,並進行撥號器 RTT 測試。
CTS 測試
CTS 測試 (android.cts.telecom.RttOperationsTest) 涵蓋實作項目的 AOSP 部分。您必須為實作的 IMS 堆疊部分提供自己的測試。
撥號器 RTT 測試
| 情境說明 | UI 模擬畫面 |
|---|---|
| 如果裝置已停用即時文字訊息功能,系統會顯示即時文字訊息的相關對話方塊。 |
|
| 在「撥號」設定中,依序前往「設定」>「無障礙設定」,即可存取「即時文字訊息」畫面,並選擇其他 RTT 模式。 |
|
如果 RTT 預設為啟用:
|
|
如果裝置已停用即時文字訊息:
|
|
如果裝置已啟用即時文字訊息功能,且預設設定為以即時文字訊息接聽所有來電:
|
|
在即時文字訊息的通話中 UI 中,系統會提供選項,讓使用者控制語音通話的狀態,並取得即時文字訊息的一般使用說明:
|
|
| 在「通話詳細資料」畫面中選取「查看文字記錄」連結,即可查看完整對話,包括即時文字訊息通話的全文。系統會顯示時間戳記。使用者可以按返回鍵返回「通話詳細資料」畫面。 |
|






