緊急電話功能是裝置的基本要件,也是重要功能,因為裝置必須為 Android 使用者提供這項服務,同時滿足全球各地的電信業者和法規要求。Android 架構可為使用者提供快速安全的緊急電話撥打體驗。
Android 10 會使用 SIM 卡、網路、數據機和資料庫中的詳細緊急電話號碼清單,加強支援本機 Android 平台中的緊急電話功能、維護和更新。Android 10 也支援根據緊急救援服務類型 (例如警察、消防隊或救護車) 撥打緊急電話。Android 10 透過 TelephonyManager API 分享多個訂閱方案的緊急電話號碼,進一步提升對多 SIM 卡裝置的支援。
在搭載 Radio HAL 1.4 的 Android 10 中,系統會在 HAL 介面中將緊急電話與一般電話分開,藉此改善緊急電話功能,以便最佳化緊急電話路徑,並允許裝置撥打 Android 資料庫中設定的適當緊急電話號碼。
實作
如要實作緊急電話和緊急電話號碼功能,請實作下列
TelephonyManager
和硬體介面 API。
TelephonyManager API
實作下列 API:
- 實作
getEmergencyNumberList
,根據緊急電話號碼來源 (包括地區、SIM 卡、預設、數據機、Android 資料庫和網路),取得緊急電話號碼以撥打緊急電話。針對每個緊急電話號碼,指定對應的緊急救援服務類別,例如警察、救護車和消防隊。 - 實作
isEmergencyNumber
,判斷電話號碼是否為緊急電話號碼。 - 實作
isPotentialEmergencyNumber
,判斷電話號碼是否為緊急電話號碼,方法是檢查該號碼的開頭數字是否與任何緊急電話號碼相同。
緊急電話號碼來源的值如下:
EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING
:號碼來自網路訊號EMERGENCY_NUMBER_SOURCE_SIM
:號碼來自 SIM 卡EMERGENCY_NUMBER_SOURCE_DATABASE
:此號碼來自平台維護的資料庫EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG
:號碼來自數據機設定EMERGENCY_NUMBER_SOURCE_DEFAULT
:預設提供號碼。112 和 911 必須隨時可用。如果沒有 SIM 卡,必須可撥打 000、08、110、999、118 和 119。詳情請參閱 3GPP TS 22.101 的第 10 節:緊急電話。
緊急服務類別的值如下:
UNSPECIFIED
:一般緊急電話,適用於所有類別POLICE
:警察AMBULANCE
:救護車FIRE_BRIGADE
:消防隊MARINE_GUARD
:Marine GuardMOUNTAIN_RESCUE
:山區救援MIEC
:手動發起的 eCall (MIeC)AIEC
:自動啟動緊急呼叫 (AIeC)
詳情請參閱 3GPP TS 22.101 的第 10 節:緊急電話。
硬體介面 API
在 IRadio.hal
中實作
emergencyDial
。在 IRadioResponse.hal
中實作
emergencyDialResponse
,傳送含有回應類型、序號和錯誤資訊的回應。
如要回報目前的緊急電話號碼清單,請在 IRadioIndication.hal
中實作 currentEmergencyNumberList
。在 types.hal
中實作 EmergencyNumber
,其中包含緊急電話號碼的相關資訊,包括號碼地址、行動裝置國家/地區代碼 (MCC)、行動網路代碼 (MNC)、緊急救援服務類別、緊急情況統一資源名稱 (URN) 和緊急電話號碼來源。
如要指出緊急電話的處理方式,請使用 EmergencyCallRouting
。你可以視需要使用緊急電話路由或一般電話路由要求撥打緊急電話。如果是 UNKNOWN
,系統會根據實作方式決定路徑。
驗證
如要驗證實作項目,請執行下列 CTS 和 VTS 測試。
CTS 測試
VTS 測試
參考資料
如要進一步瞭解相關技術規格和標準,請參閱:
- 3GPP TS 22.101, 第 10 節:緊急電話
- 3GPP TS 24.008, 第 9.2.13.4 節:緊急電話號碼清單
- 3GPP TS 23.167, 第 6 節:功能說明
- 3GPP TS 24.503, 第 5.1.6.8.1 節:一般
- RFC 5031:緊急服務和其他知名服務的統一資源名稱 (URN)