5G 非独立组网 (NSA)

搭载 Android 10 或更高版本的设备可支持 5G 非独立组网 (NSA)。5G NSA 是一种 5G 网络解决方案,其网络由现有的 4G 基础架构提供支持。Android 10 设备在连接到 5G 网络后,便可以在状态栏上显示 5G 图标。

实现

运营商配置

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

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 图标

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

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

connected_mmwave:5G_PLUS,connected:5G

系统界面

如需自定义运营商可用于特定状态的图标,请在 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 图标。