多运营商网络支持

搭载 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