自 2025 年 3 月 27 日起,我们建议您使用 android-latest-release
而非 aosp-main
构建 AOSP 并为其做出贡献。如需了解详情,请参阅 AOSP 的变更。
5G 非独立组网 (NSA)
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
搭载 Android 10 或更高版本的设备可支持 5G 非独立组网 (NSA)。5G NSA 是一种 5G 网络解决方案,其网络由现有的 4G 基础架构提供支持。Android 10 设备在连接到 5G 网络后,便可以在状态栏上显示 5G 图标。
实现
运营商配置
运营商可以使用 CarrierConfig
中的 KEY_5G_ICON_CONFIGURATION_STRING
键配置 5G 图标在状态栏上的显示方式。
5G NSA 中存在以下几种场景:
- 设备连接到作为辅助小区的 5G 小区,且使用毫米波。
- 设备连接到作为辅助小区的 5G 小区,但不使用毫米波。
- 设备驻留在具备 5G 能力的网络上(设备不必连接到作为辅助小区的 5G 小区),对 5G 的使用不受限,并且无线资源控制 (RRC) 处于
IDLE
状态(无网络连接)。
- 设备驻留在具备 5G 能力的网络上(设备不必连接到作为辅助小区的 5G 小区),对 5G 的使用不受限,并且无线资源控制 (RRC) 处于
CONNECTED
状态。
- 设备驻留在具备 5G 能力的网络上(设备不必连接到作为辅助小区的 5G 小区),但对 5G 的使用受限。
配置字符串包含由英文逗号分隔的多个键值对。每个键值对的键和值都由英文冒号分隔。配置字符串中的键对应于上述 5G 场景,并且必须是下列其中一项:
connected_mmwave
connected
not_restricted_rrc_idle
not_restricted_rrc_con
restricted
配置字符串中的值必须是与 /packages/SettingsLib/res/
目录中的图标名称匹配的有效图标名称。5G NSA 有两个默认图标:5G
和 5G_PLUS
。
图 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 图标。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-03-26。
[null,null,["最后更新时间 (UTC):2025-03-26。"],[],[],null,["# 5G non-standalone (NSA)\n\nDevices running Android 10 or higher can support 5G\nnon-standalone (NSA). 5G NSA\nis a solution for 5G networks where the network is supported by the existing 4G\ninfrastructure. On Android 10, devices can display a\n5G icon on the status bar\nwhen a device connects to a 5G network.\n\nImplementation\n--------------\n\n### Carrier configuration\n\nTo configure how 5G icons are displayed on the status bar, carriers can use the\n[`KEY_5G_ICON_CONFIGURATION_STRING`](https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android16-release/telephony/java/android/telephony/CarrierConfigManager.java#2459)\nkey in `CarrierConfig`.\n\nThese scenarios are available in 5G NSA:\n\n1. Device connected to 5G cell as the secondary cell and using millimeter wave.\n2. Device connected to 5G cell as the secondary cell but not using millimeter wave.\n3. Device camped on a network that has 5G capability (device doesn't have to be connected to a 5G cell as a secondary cell) and the use of 5G isn't restricted and radio resource control (RRC) is in the `IDLE` state (no connection).\n4. Device camped on a network that has 5G capability (device doesn't have to be connected to a 5G cell as a secondary cell) and the use of 5G isn't restricted and radio resource control (RRC) is in the `CONNECTED` state.\n5. Device camped on a network that has 5G capability (device doesn't have to be connected to a 5G cell as a secondary cell) but the use of 5G is restricted.\n\nThe configuration string contains multiple key-value pairs separated by commas.\nFor each pair, the key and value are separated by a colon. The keys in the\nconfiguration string correspond to the 5G scenarios described above\nand must be one of the following:\n\n1. `connected_mmwave`\n2. `connected`\n3. `not_restricted_rrc_idle`\n4. `not_restricted_rrc_con`\n5. `restricted`\n\nThe values in the configuration string must be valid icon names that match the\nnames of icons in the `/packages/SettingsLib/res/` directory. Two default icons\nfor 5G NSA are available: `5G` and `5G_PLUS`.\n\n**Figure 1.** Default 5G and 5G_PLUS 5G icons\n\nDisplay the 5G icons only for scenario 1 (`connected_mmwave`) and\nscenario 2 (`connected`), where the device has a true 5G connection. Use the\n`5G_PLUS` icon for scenario 1 and the `5G` icon for scenario 2. The\nfollowing is an example of a configuration string in `CarrierConfig`. \n\n connected_mmwave:5G_PLUS,connected:5G\n\n### System UI\n\nTo customize the icons that carriers can use for a specific status, add a\n`MobileIconGroup` object in\n[`TelephonyIcons.java`](https://cs.android.com/android/platform/superproject/+/android-latest-release:frameworks/base/packages/SettingsLib/src/com/android/settingslib/mobile/TelephonyIcons.java).\nThe icon name in `MobileIconGroup` must match the icon name used in\n`CarrierConfig`. The following shows an example of how to add a customized icon\nwith the name \"5G_PLUS\" to `MobileIconGroup`. \n\n static final MobileIconGroup NR_5G_PLUS = new MobileIconGroup(\n \"5G_PLUS\",\n null,\n null,\n AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,\n 0,\n 0,\n 0,\n 0,\n\n AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],\n R.string.data_connection_5g_plus,\n TelephonyIcons.ICON_5G_PLUS,\n true);\n\nValidation\n----------\n\nTo validate your implementation, make sure a 5G icon is displayed on the status\nbar when the device is connected to a 5G cell."]]