在 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 並徹底測試您設備上的行為。