自 2017 年 1 月 1 日起,在印度銷售的所有行動裝置都必須提供 以滿足印度電信部 (DoT) 的規定。 為了符合這些法規要求,Android 會附上參考資料 導入緊急熱源功能,以便啟用緊急應變按鈕 Android 裝置。
根據預設,這項功能在 Android 8.0 以上版本中為啟用狀態, 必須修補到先前版本的現有版本中。這個 功能只針對印度市場上販售的裝置指定 包含在全球銷售的所有裝置上,因為該功能不具任何影響 印度以外的國家/地區
範例和來源
緊急通電功能已在 Android 開放原始碼中實作 專案 (AOSP) frameworks/base 專案。位於主要分支版本中,根據預設會在 Android 8.0 以上版本。
此功能目前適用於下列分支版本和修訂版本。 這項資訊能讓裝置製造商輕鬆修補 變更現有版本想要 實作 Android 開放原始碼計畫參考資料緊急求救功能 從適用的分支版本將修訂內容提交到各自的建構版本。
Branch | 修訂版本 |
---|---|
主要 | e0c3c66
新增「緊急功能」功能 42a4338 新增緊急動作字串的翻譯 4df8d64 修正平板電腦上會顯示緊急可用資源的問題 |
Nougat-dev | e6680d9
新增「緊急功能」功能 95e1865 新增緊急動作字串的翻譯 a70bb89 修正平板電腦上會顯示緊急可用資源的問題 |
棉花糖 | cd22634
新增「緊急功能」功能 13f51c6 新增緊急動作字串的翻譯 6531666 修正平板電腦上會顯示緊急可用資源的問題 |
Lollipop-mr1-dev | 5fbc86b
新增「緊急功能」功能 1b60879 新增緊急動作字串的翻譯 D74366f 修正平板電腦上會顯示緊急可用資源的問題 |
實作
「緊急通能」功能不會變更透過其公開的 API Android 軟體開發套件 (SDK)。啟用和啟用後 功能提供兩種觸發事件,觸發系統撥打 112 的緊急電話 是在印度使用,由印度政府授權的緊急電話號碼 美國國防部規定。
撥打緊急電話的步驟如下:
長按畫面上的「緊急」按鈕 螢幕鎖定畫面 |
輕觸畫面中顯示的「緊急」選項 通用動作選單 |
---|---|
|
|
這項功能提供以下內部元件:
- EmergencyAffordanceManager
frameworks/base/core/java/com/android/internal/policy/EmergencyAffordanceManager.java
- 緊急收費服務
frameworks/base/services/core/java/com/android/server/emergency/EmergencyAffordanceService.java
EmergencyAffordanceManager
EmergencyAffordanceManager 提供內部 API,以便使用緊急情況 功能齊全。Google 助理會顯示撥打緊急電話和 如果這項功能應啟用,則在執行階段進行查詢。
void performEmergencyCall()
。撥打緊急電話。boolean needsEmergencyAffordance()
。判斷功能是否 應為已啟用。
如果變更
EmergencyAffordanceManager.ENABLED
常數為 false
。
這會導致 needsEmergencyAffordance()
一律傳回 false
並防止 EmergencyAffordanceService
啟動。
緊急收費服務
EmergencyAffordanceService
是一項系統服務,會監控
所有偵測到的行動網路和 MCC 的行動裝置國家/地區代碼 (MCC)
。或偵測到任何已安裝或偵測到的 SIM 卡
行動網路的 MCC 為印度的其中一個 MCC (404 或 405),
功能才會啟用這表示即使在印度,也可使用這項功能
沒有 SIM 卡。假設行動網路允許
註冊緊急電話。功能
系統會保持啟用狀態,直到安裝非印度 SIM 卡且未偵測到任何印度 SIM 卡為止
聯播網有相符的 MCC。
下列資源和設定會影響緊急求救行為 功能齊全。設定類型為:
- 資源,是位於
frameworks/base/core/res/res/values/config.xml
。 - 設定,這是儲存在系統設定中的設定。 。
設定類型 | 名稱 | 說明 |
---|---|---|
資源 | config_emergency_call_number | 撥打緊急電話時,系統自動撥打的電話號碼
已啟動。 類型:字串 預設:112 |
資源 | config_emergency_mcc_codes | 列出應啟用功能的 MCC 的整數陣列。 類型:整數陣列 預設:{404,405} |
設定 | multi_affordance_number | 全域設定覆寫,顯示可與緊急電話撥號的電話號碼
這只會影響可進行偵錯的建構映像檔,也就是
類型為 userdebug 或 eng)。僅供測試。 類型:字串 預設:未設定 |
設定 | force_emergency_affordance | 全域設定,是否應顯示緊急情況,無論如何都應顯示
裝置狀態僅供測試。 類型:布林值 (1 或 0) 預設:未設定 -->0 分 |
允許撥打緊急電話給 112
緊急求救功能會透過緊急求救功能撥電話給你 撥號程式,可讓使用者在螢幕鎖定時接通電話。 緊急撥號程式只會將電話撥打至 透過系統屬性使用無線電介面層 (RIL):
- 未安裝 SIM 卡時則為
ril.ecclist
。 - 插入 SIM 卡時:
ril.ecclistSimSlotNumber
而SimSlotNumber
是預設的版位 ID 位訂閱者。
使用緊急預設用途功能的裝置製造商必須 印度境內的裝置,一律啟用 112 做為 RIL 的緊急電話號碼。
驗證
在測試可進行偵錯版本時,呼叫的數字可能會變更 執行下列指令:
adb shell settings put global emergency_affordance_number NUMBER_TO_CALL
雖然這項設定可在一般的使用者版本中指定,但系統將忽略此設定。 如要確實接通這通電話,必須列於緊急狀況清單中 數字。您可以利用下列方法暫時完成這項設定 指令:
setprop ril.ecclist "$(getprop ril.ecclist),NUMBER_TO_CALL"
您也可以使用以下指令強制執行緊急緊急情況服務 則就算沒有印度行動網路 或插入了印度 SIM 卡。
adb shell settings put global force_emergency_affordance 1
您至少應測試以下案例:
- 啟動後,長按「緊急」按鈕 鎖定螢幕 (圖 1) 撥打指定的緊急電話號碼。
- 啟用後,Global Action 中的Emergency項目 在畫面上顯示選單,輕觸選單即可撥號給指定緊急情況 號碼。
- 為在缺少回應的情況下,系統並未啟用 偵測到印度行動網路,且安裝了非印度 SIM 卡。
- 使用印度 SIM 卡時,裝置上已啟用這項功能 卡片和卡片皆已安裝,無論偵測到的行動網路為何。
- 在具有以下情況的情況下,系統會在裝置上啟用這項功能 。
如果裝置支援多張 SIM 卡,則測試必須確保 確認 SIM 卡 MCC 偵測功能可以在每個 SIM 卡插槽中正常運作。緊急狀況 功能性功能不受 Android 相容性規範,因此沒有 Compatibility Test Suite (CTS) 測試。
常見問題
問:緊急電話號碼 112 尚未撥付 印度。是否應繼續使用?
「112」是印度政府進行公共安全緊急應變時參考的號碼 整合緊急通訊與回應的定義 (PSAP) 系統 (IECRS)。在 PSAP 實施前,所有發給 112 的來電都會轉接至這個值 現有 100 個緊急電話號碼 (不過 而非 Android)。
問:其他觸發因素 (如壓三下) 電源鍵?
裝置製造商可能會選擇導入其他觸發條件。不過 印度 DoT 核准輕觸三下硬體電源鍵 Android 開放原始碼計畫參考資料實作項目不支援觸發條件 某些熱門應用程式 (例如「相機」應用程式) 都會使用電源鍵手勢 包括重複按下電源鍵的按鈕這類應用程式 或使用者可能不小心觸發了 緊急按鈕,導致系統嘗試在這些應用程式中觸發動作。