В 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. Кнопка сброса для устранения неполадок с подключением
Реализация
Чтобы включить упрощенное подключение на устройстве, используйте следующий глобальный флаг:
- Name:
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– логическое значение, указывающее, отображается ли значок уровня сигнала в интерфейсе системы.
Framework APIs
Чтобы временно отключить сети 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-карты, одна из которых принадлежит оператору, который включил изменения интерфейса, а другая – нет. В этом случае вам нужно решить, какой интерфейс будет показываться пользователям, и тщательно протестировать поведение на своих устройствах.