在 Android 12 或更高版本中,裝置製造商可以選擇採用簡化的連接體驗,幫助用戶更了解其網路連線、在網路供應商之間切換以及解決網路連線問題。與 Android 11 或更低版本相比,使用者體驗的這些變化反映在使用者介面、圖示以及快速設定和設定的 API 變更中。所有這些變更都可以在 AOSP 中供設備製造商按原樣啟用或自訂。
簡化的連結體驗概述
本部分介紹從 Android 12 開始,AOSP 中簡化的連接體驗的主要使用者介面變更。
快速設定中的網路磁貼
快速設定選單包括一個網路磁貼,可開啟網路面板,使用者可以在 Wi-Fi 和蜂巢連線之間切換。網路磁貼結合了 Android 11 或更低版本中使用的 Wi-Fi 和行動數據磁貼。
圖 1. 「快速設定」中的 Internet 磁貼
設定中的通話和簡訊部分
「設定」應用程式包括「網路和網路」下的「通話和簡訊」部分,用於顯示可用性狀態和 Wi-Fi 通話選項。
圖 2. 「設定」中的「通話與簡訊」部分
設定中的重置按鈕
在「設定」應用程式中, 「網路和網際網路」>「網際網路」包含一個重設按鈕,可讓使用者重設裝置上的電話和 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 並徹底測試裝置上的行為。