在 Android 12 以上版本中,裝置製造商可以選擇採用簡化的連線體驗,協助使用者更瞭解網路連線、切換網際網路供應商,以及排解網路連線問題。與 Android 11 以下版本相比,這些使用者體驗異動會反映在快速設定和設定的使用者介面、圖示和 API 異動。所有這些變更都會在 AOSP 中提供,供裝置製造商啟用原始設定或自訂。
簡化連線體驗總覽
本節說明 AOSP 中簡化連線體驗的主要使用者介面變更 (自 Android 12 起)。
「快速設定」中的「網際網路」設定方塊
「快速設定」選單包含「Internet」資訊方塊,可開啟「Internet」面板,讓使用者在 Wi-Fi 和行動網路連線之間切換。「Internet」資訊方塊會結合 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) 連線做為閘道顯示 no calling 圖示的額外條件。CarrierConfigManager#KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL
:這個布林值表示是否在系統 UI 中顯示「通話強度」圖示。
Framework 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,並在裝置上徹底測試行為。