在 Android 12 或更高版本中,设备制造商可以选择采用简化的连接体验,帮助用户更好地了解他们的网络连接、在互联网提供商之间切换以及解决网络连接问题。与 Android 11 或更低版本相比,用户体验的这些变化反映在用户界面、图标和快速设置和设置的 API 变化中。所有这些更改都在 AOSP 中可供设备制造商按原样启用或自定义。
简化的连接体验概述
本节介绍从 Android 12 开始的 AOSP 中简化连接体验的主要用户界面变化。
快速设置中的 Internet 磁贴
快速设置菜单包括一个 Internet 磁贴,它打开一个 Internet 面板,用户可以在其中切换 Wi-Fi 和蜂窝连接。互联网磁贴结合了 Android 11 或更低版本中使用的 Wi-Fi 和移动数据磁贴。
图 1.快速设置中的 Internet 磁贴
设置中的通话和短信部分
“设置”应用包括“网络和互联网”下的“通话和短信”部分,显示可用性状态和 Wi-Fi 通话选项。
图 2.设置中的通话和短信部分
设置中的重置按钮
在设置应用程序中,网络和 Internet > Internet包含一个重置按钮,可让用户重置设备上的电话和 Wi-Fi 调制解调器,这在解决网络连接问题时可能很有用。
图 3.用于解决连接问题的重置按钮
执行
要在您的设备上启用简化的连接体验,请使用以下全局设置标志:
- 名称:
persist.sys.fflag.override.settings_provider_model
- 类型:布尔值
- 值:设置为
true
以启用连接简化行为,设置为false
以禁用它并使用旧行为。从 Android 12 开始,不再积极维护false
的代码路径。
此外,您可以使用运营商配置为各个运营商配置以下用户界面模式。配置键是:
-
CarrierConfigManager#KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL
:一个布尔值,指示运营商是否配置作为其核心网络一部分的 Wi-Fi 网络并显示为蜂窝网络的一部分。这与WifiNetworkSuggestion.Builder#setCarrierMerged(booleanisCarrierMerged)
方法协同工作。 -
CarrierConfigManager#KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL
:一个布尔值,指示是否将数据网络 (IP) 连接用作门控显示无呼叫图标的补充条件。 -
CarrierConfigManager#KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL
:一个布尔值,指示是否在系统 UI 中显示呼叫强度图标。
框架 API
要暂时禁用附近的 Wi-Fi 网络,请使用以下 API:
-
WifiManager#startRestrictingAutoJoinToSubscriptionId(int subscriptionId)
:允许用户在不禁用 Wi-Fi 的情况下选择运营商网络。禁用所有当前可见的 Wi-Fi 网络,最短持续时间为 30 分钟(通过config_wifiAllNonCarrierMergedWifiMinDisableDurationMinutes
覆盖控制),最长持续时间为 6 小时(通过config_wifiAllNonCarrierMergedWifiMaxDisableDurationMinutes
覆盖控制)。每当切换 Wi-Fi、重新启动设备、如果用户选择 Wi-Fi 网络(在这种情况下,设置执行stopRestrictingAutoJoinToSubscriptionId()
API)或网络不可见时,Wi-Fi 网络都会重新启用60 分钟。 -
WifiManager#stopRestrictingAutoJoinToSubscriptionId()
:恢复正常操作。
要支持在com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager
类中实现的重置按钮和故障排除用户界面,请使用以下 API:
-
WifiManager#restartWifiSubsystem(String reason)
:重新启动 Wi-Fi 子系统。 -
TelephonyManager#rebootRadio()
:重置无线电调制解调器。
与多家运营商合作
如果您为某些运营商而不是其他运营商采用简化的连接体验,请注意多 SIM 卡场景,其中用户使用两张 SIM 卡,一张来自选择了 UI 更改的运营商合作伙伴,而另一张没有。在这种情况下,请确保确定用户看到的 UI 并彻底测试您设备上的行为。