搭載 Android 11 或更高版本的裝置可以為多個公共陸地行動網路 (PLMN) 提供支援。 Android 11 在小區識別 API中提供了一些方法,用於獲取有關小區支援的 PLMN 的信息,以區分蜂窩服務提供者和網路營運商。
多 PLMN 支援允許行動網路營運商 (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_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
。