搭載 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_5
和getDataRegStateResult_1_5(RegStateResult result)
-
getVoiceRegState_1_5
和getVoiceRegStateResult_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
。