多運營商網絡支持

搭載 Android 11 或更高版本的設備可以支持多個公共陸地移動網絡 (PLMN)。 Android 11 在小區識別 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 中的更改會影響IRadioResponse.hal中的以下兩種 HAL 方法(以及它們在IRadio.hal中的相應響應方法)。

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

類型.hal

types.hal中實現以下內容:

  • ClosedSubscriberGroupInfo :可選地包含在每個CellIdentity實例中。此結構用於提供有關小區所屬的封閉訂戶組(如果有)的詳細信息。這通常用於識別小型小區,例如個人 LTE 設備。它還可用於 CBRS LTE 等部署。
  • CellIdentityLte :支持附加 PLMN-ID 的列表。
  • CellIdentityWcdma :支持附加 PLMN-ID 的列表。
  • CellIdentityTdscdma :支持附加 PLMN-ID 的列表。
  • RegStateResult :包括更新的CellIdentity結構和指示 RPLMN 的字段。

驗證

要測試您的實施,請運行以下 CTS 測試:註冊到多運營商無線接入網絡 (MORAN) 或多運營商核心網絡 (MOCN) 時的CellInfoTest