5G 非独立组网 (NSA)

运行 Android 10 或更高版本的设备可以支持 5G 非独立组网 (NSA)。5G NSA 是 5G 网络的解决方案,其中网络由现有的 4G 基础设施提供支持。在 Android 10 上,当设备连接到 5G 网络时,设备可以在状态栏上显示 5G 图标。

实现

运营商配置

要配置 5G 图标在状态栏上的显示方式,运营商可以使用 CarrierConfig 中的 KEY_5G_ICON_CONFIGURATION_STRING 键。

以下是 5G NSA 中可用的场景

  1. 设备作为辅助小区连接到 5G 小区并使用毫米波。
  2. 设备作为辅助小区连接到 5G 小区,但不使用毫米波。
  3. 设备驻留在具有 5G 功能的网络上(设备不必作为辅助小区连接到 5G 小区),且 5G 的使用不受限制,并且无线电资源控制 (RRC) 处于 IDLE 状态(无连接)。
  4. 设备驻留在具有 5G 功能的网络上(设备不必作为辅助小区连接到 5G 小区),且 5G 的使用不受限制,并且无线电资源控制 (RRC) 处于 CONNECTED 状态。
  5. 设备驻留在具有 5G 功能的网络上(设备不必作为辅助小区连接到 5G 小区),但 5G 的使用受到限制。

配置字符串包含多个键值对,以逗号分隔。对于每对键值对,键和值以冒号分隔。配置字符串中的键对应于上述 5G 场景,并且必须是以下之一

  1. connected_mmwave
  2. connected
  3. not_restricted_rrc_idle
  4. not_restricted_rrc_con
  5. restricted

配置字符串中的值必须是有效的图标名称,与 /packages/SettingsLib/res/ 目录中图标的名称匹配。5G NSA 有两个默认图标可用:5G5G_PLUS

5G NSA icons

图 1. 默认 5G 和 5G_PLUS 5G 图标

仅对于场景 1 (connected_mmwave) 和场景 2 (connected) 显示 5G 图标,其中设备具有真正的 5G 连接。场景 1 使用 5G_PLUS 图标,场景 2 使用 5G 图标。以下是 CarrierConfig 中的配置字符串示例。

connected_mmwave:5G_PLUS,connected:5G

系统 UI

要自定义运营商可以用于特定状态的图标,请在 TelephonyIcons.java 中添加 MobileIconGroup 对象。MobileIconGroup 中的图标名称必须与 CarrierConfig 中使用的图标名称匹配。以下示例演示了如何将名为 “5G_PLUS” 的自定义图标添加到 MobileIconGroup

static final MobileIconGroup NR_5G_PLUS = new MobileIconGroup(
            "5G_PLUS",
            null,
            null,
            AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
            0,
            0,
            0,
            0,

AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
            R.string.data_connection_5g_plus,
            TelephonyIcons.ICON_5G_PLUS,
            true);

验证

要验证您的实现,请确保当设备连接到 5G 小区时,状态栏上会显示 5G 图标。