在 Android 12 以上版本中,裝置製造商可選擇採用簡化的連線體驗,協助使用者更瞭解網路連線、切換網際網路供應商,以及排解網路連線問題。與 Android 11 以下版本相比,這些使用者體驗的變化反映在使用者介面、圖示和快速設定與設定的 API 變化。裝置製造商可直接啟用或自訂 AOSP 中的所有變更。
簡化連線體驗總覽
本節說明 AOSP 中簡化連線體驗的主要使用者介面變更,這些變更從 Android 12 開始實施。
「快速設定」中的「網際網路」設定方塊
「快速設定」選單包含「網際網路」動態磚,開啟後會顯示「網際網路」面板,使用者可以在 Wi-Fi 和行動網路連線之間切換。「網際網路」動態磚結合了 Android 11 以下版本使用的「Wi-Fi」和「行動數據」動態磚。
圖 1. 「快速設定」中的「網際網路」設定方塊
「設定」中的「通話和簡訊」專區
「設定」應用程式的「網路和網際網路」下方有「通話和簡訊」部分,可顯示可用狀態和 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),或網路在 60 分鐘內未顯示時,系統就會重新啟用 Wi-Fi 網路。WifiManager#stopRestrictingAutoJoinToSubscriptionId()
:恢復正常運作。
如要支援重設按鈕和疑難排解使用者介面 (實作於 com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager
類別中),請使用下列 API:
WifiManager#restartWifiSubsystem(String reason)
:重新啟動 Wi-Fi 子系統。TelephonyManager#rebootRadio()
:重設無線電數據機。
與多個貨運公司合作
如果您為特定電信業者採用簡化連線體驗,但未為其他電信業者採用,請留意多 SIM 卡情境。在這種情況下,使用者會使用兩張 SIM 卡,其中一張來自已選擇 UI 變更的電信業者合作夥伴,另一張則否。在這種情況下,請務必決定使用者看到的 UI,並在裝置上徹底測試相關行為。