支援多營運商網路

搭載 Android 11 以上版本的裝置可支援多個公眾陸地行動網路 (PLMN)。Android 11 包含單元格 ID API 中的方法,可取得單元格支援的 PLMN 相關資訊,以便區分行動服務供應商和網路業者。

多 PLMN 支援功能可讓行動網路業者 (MNO) 播送多個身分,因此更具彈性。這項功能主要用於支援共用協議,讓多個 MNO 使用共用硬體或基地台。在多個 PLMN 的情況下,當裝置選擇使用特定基地台註冊時,會選取用於該註冊的 PLMN,這會將裝置的設定檔鎖定至該 PLMN,以進行後續所有通訊。getRegisteredPlmn 方法會擷取裝置的已註冊 PLMN。

實作

如要在搭載 Android 11 以上版本的裝置上支援多個 PLMN,請在 IRadio 中實作下列位置的函式。

IRadio.hal 和 IRadioResponse.hal

在 Radio 1.5 HAL 中,為支援多個 PLMN,裝置註冊的網路相關資訊回報方式與舊版不同。首先,系統會分開回報已註冊的 PLMN (RPLMN),因為在多 PLMN 儲存格中,RPLMN 可能不是主要 PLMN ID。在 CellIdentity 結構中,儲存格會提供主要 PLMN-ID 和額外 PLMN-ID 清單。RPLMN 必須是主要 PLMN-ID,或是 CellIdentity 結構中指出的一個額外 PLMN-ID。

Radio 1.5 HAL 的變更會影響 IRadio.hal 中的下列兩個 HAL 方法 (以及 IRadioResponse.hal 中的對應回應方法)。

  • getDataRegState_1_5getDataRegStateResult_1_5(RegStateResult result)
  • getVoiceRegState_1_5getVoiceRegStateResult_1_5(RegStateresult result)

types.hal

types.hal 中導入下列項目:

  • ClosedSubscriberGroupInfo:每個 CellIdentity 執行個體可選擇性加入。這個結構用於提供有關儲存格所屬封閉式訂閱群組的詳細資料 (如有)。這通常用於識別小型基地台,例如個人 LTE 裝置。也可在 CBRS LTE 等部署作業中使用。
  • CellIdentityLte:支援額外 PLMN ID 清單。
  • CellIdentityWcdma:支援額外 PLMN ID 清單。
  • CellIdentityTdscdma:支援額外 PLMN ID 清單。
  • RegStateResult:包含更新的 CellIdentity 結構和用於指出 RPLMN 的欄位。

驗證

如要測試導入成果,請執行下列 CTS 測試: CellInfoTest 註冊至多重營運商無線電存取網路 (MORAN) 或多重營運商核心網路 (MOCN)。