В 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-карты, одну от партнера-оператора, который выбрал изменения пользовательского интерфейса, а другой — нет. В этом сценарии обязательно решите, какой пользовательский интерфейс видят пользователи, и тщательно протестируйте его поведение на своих устройствах.