電信業者識別

搭載 Android 9 的裝置可辨識訂閱的電信業者資訊,並提供 ID 和電信業者名稱。Android 會維護運營商 ID 資料庫,其中包含每家運營商的配對規則,以及運營商專屬的 ID。Android 開放原始碼計畫會在 carrier_list.textpb 檔案中加入電信業者 ID 資料庫的內容。統合資料庫會在需要識別電信業者及限制電信業者識別屬性曝光的應用程式中,盡量減少重複的邏輯。

為提升電信業者識別功能的涵蓋範圍和準確度,Android 支援頻外和電信業者 ID 資料表更新功能。每個更新都會附上版本號碼,並發布至 AOSP。

實作

如果想實作頻外更新,使用者可以從 Android 開放原始碼計畫下載 carrier_list.pb 二進位檔。如要查看可讀格式的表格,請參閱 carrier_list.textpb

將電信業者 ID 資料表放在裝置的 /data/misc/carrierid/ 資料分區中。如果電信業者 ID 表格比現有版本新,裝置會將表格儲存至電信業者 ID 資料庫類別。公開方法 getSimCarrierId()getSimCarrierIdName() 會從運送業者 ID 資料庫中擷取最新資訊。

將電信業者 ID 資訊新增至資料庫

如要將運營商 ID 新增至資料庫或更新,請使用運營商 ID 資訊表單提交要求。

我們會審查您的要求,如果核准,變更就會推送至 carrier_list.pb 的 AOSP 程式碼集。接著,您可以複製更新後的清單,並將其納入自訂版本。

將電信業者 ID 與 CarrierConfig 整合

自 Android 10 起,電信業者設定支援使用電信業者 ID 做為索引鍵,從 CarrierService 擷取電信業者專屬設定。

將電信業者 ID 與 CarrierConfig 整合有下列優點:

  • 將每個電信業者的所有 MCC/MNC 組合合併為單一位置,移除重複或不一致的資料。
  • 為每家電信業者建立標準 ID,並消除模糊性。
  • 允許行動虛擬網路業者 (MVNO) 使用個別 ID 進行識別,而非在行動網路業者 (MNO) 中進行設定。

將設定資料遷移至電信業者 ID

如要將設定資料從 MCC/MNC 組合遷移至電信業者 ID,請按照下列步驟操作:

  1. 將單一載具的 carrier_config_mccmnc.xml 檔案分組。使用 carrier_list.textpb 做為參考,將 MCC、MNC 和 MVNO 資訊對應至特定電信業者。

  2. 將設定合併成單一檔案。

  3. (選用) 繼承行動網路業者的資料。MVNO 會繼承傳統 carrier_config_mccmnc.xml 檔案中 MNO 的設定。由於運營商 ID 可讓所有運營商 (包括 MVNO) 擁有專屬設定檔,因此建議在遷移期間加入 MNO 資料。

  4. 如果 MVNO 電信業者 ID 的設定不存在,請使用 getCarrierIdFromSimMccMnc 從其 MNO 電信業者 ID 擷取設定。

  5. 將新檔案重新命名為 carrier_config_carrierid_carrierid_carriername.xml,其中 carrierid 必須對應至 canonical_id,而 carriername 應對應至 carrier_list.textpb 中的 carrier_name