В Android 12 и более поздних версиях производители устройств могут по желанию внедрить упрощенный интерфейс подключения, который поможет пользователям лучше понимать свои сетевые соединения, переключаться между интернет-провайдерами и устранять неполадки с сетевым подключением. Эти изменения в пользовательском интерфейсе по сравнению с Android 11 и более ранними версиями отражены в пользовательском интерфейсе, иконографии и изменениях API для быстрых настроек и настроек. Все эти изменения доступны в AOSP, и производители устройств могут включить их как есть или настроить под свои нужды.
Упрощенный обзор возможностей подключения
В этом разделе описываются основные изменения пользовательского интерфейса упрощенной системы подключения в AOSP, начиная с Android 12.
Плитка «Интернет» в быстрых настройках
В меню быстрых настроек есть плитка «Интернет», которая открывает панель «Интернет», где пользователи могут переключаться между Wi-Fi и сотовой связью. Плитка «Интернет» объединяет плитки Wi-Fi и мобильных данных, используемые в Android 11 или более ранних версиях.

Рисунок 1. Плитка «Интернет» в быстрых настройках.
Раздел «Звонки и SMS» в настройках.
В приложении «Настройки» в разделе «Сеть и Интернет» есть подраздел «Звонки и SMS» , где отображается статус доступности и параметры звонков по Wi-Fi.

Рисунок 2. Раздел «Звонки и SMS» в настройках.
Кнопка «Сброс» в настройках
В приложении «Настройки» в разделе «Сеть и Интернет» > «Интернет» есть кнопка сброса , которая позволяет пользователям сбросить настройки телефонного и 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: Логическое значение, указывающее, отображается ли значок уровня сигнала вызова в пользовательском интерфейсе системы.
API фреймворка
Для временного отключения ближайших сетей Wi-Fi используйте следующие API:
-
WifiManager#startRestrictingAutoJoinToSubscriptionId(int subscriptionId): Позволяет пользователю выбрать сеть оператора без отключения Wi-Fi. Отключает все видимые сети Wi-Fi на минимальный срок 30 минут (регулируется с помощью параметраconfig_wifiAllNonCarrierMergedWifiMinDisableDurationMinutes) и максимальный срок 6 часов (регулируется с помощью параметраconfig_wifiAllNonCarrierMergedWifiMaxDisableDurationMinutes). Сети Wi-Fi включаются повторно при переключении Wi-Fi, перезагрузке устройства, выборе пользователем сети Wi-Fi (в этом случае выполняется APIstopRestrictingAutoJoinToSubscriptionId()из настроек) или если сеть не видна в течение 60 минут. -
WifiManager#stopRestrictingAutoJoinToSubscriptionId(): Восстанавливает нормальную работу.
Для поддержки кнопки сброса и пользовательского интерфейса устранения неполадок, реализованных в классе com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager , используйте следующие API:
-
WifiManager#restartWifiSubsystem(String reason): Перезапускает подсистему Wi-Fi. -
TelephonyManager#rebootRadio(): Перезагрузка радиомодема.
Работа с несколькими перевозчиками
Если вы используете упрощенный интерфейс подключения для одних операторов, но не для других, учитывайте сценарий использования нескольких SIM-карт, когда пользователь использует две SIM-карты: одну от оператора-партнера, который выбрал изменения в пользовательском интерфейсе, а другую — нет. В этом случае обязательно определите, какой интерфейс будет отображаться для пользователей, и тщательно протестируйте его работу на своих устройствах.