W Androidzie 12 lub nowszym producenci urządzeń mogą opcjonalnie wdrożyć uproszczone połączenie, które ułatwia użytkownikom lepsze zrozumienie połączeń sieciowych, przełączanie się między dostawcami internetu i rozwiązywanie problemów z połączeniemi sieciowymi. Te zmiany w środowisku użytkowników w porównaniu z Androidem 11 lub niższym dotyczą interfejsu użytkownika, ikonografii i interfejsu API w Ustawieniach Szybkich i Ustawieniach. Wszystkie te zmiany są dostępne w AOSP, aby umożliwić producentom urządzeń ich włączenie lub dostosowanie.
Omówienie uproszczonego środowiska połączeń
W tej sekcji opisaliśmy główne zmiany w interfejsie związane z uproszczonym sposobem łączenia się z internetem w AOSP od Androida 12.
Kafelek Internet w Szybkich ustawieniach
Menu Szybkie ustawienia zawiera kafelek Internet, który otwiera panel Internet, w którym użytkownicy mogą przełączać się między Wi-Fi a połączeniami komórkowymi. Płytka Internet łączy w sobie płytki Wi-Fi i mobilnej transmisji danych używane w Androidzie 11 lub nowszym.
Rysunek 1. Kafelek Internet w Szybkich ustawieniach
Sekcja Połączenia i SMS-y w Ustawieniach
W aplikacji Ustawienia w sekcji Połączenia i SMS-y w dziale Sieć i internet wyświetlany jest stan dostępności oraz opcje połączeń przez Wi-Fi.
Rysunek 2. Sekcja Połączenia i SMS-y w Ustawieniach
Przycisk resetowania w Ustawieniach
W aplikacji Ustawienia w sekcji Sieć i internet > Internet znajduje się przycisk resetowania, który umożliwia użytkownikom zresetowanie modemu telefonicznego i modemu Wi-Fi na urządzeniu. Może to być przydatne podczas rozwiązywania problemów z połączeniem z internetem.
Rysunek 3. Przycisk resetowania do rozwiązywania problemów z połączeniem
Implementacja
Aby włączyć uproszczone łączenie na urządzeniu, użyj tego parametru ustawień globalnych:
- Imię i nazwisko:
persist.sys.fflag.override.settings_provider_model
- Rodzaj: wartość logiczna
- Wartość: ustaw na
true
, aby włączyć uproszczenie połączeń, lub nafalse
, aby je wyłączyć i użyć starszego sposobu działania. Od Androida 12 ścieżka kodufalse
nie jest już aktywnie aktualizowana.
Dodatkowo możesz skonfigurować te tryby interfejsu dla poszczególnych operatorów za pomocą konfiguracji operatora. Klucze konfiguracji to:
CarrierConfigManager#KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL
: Wartość logiczna wskazująca, czy operator konfiguruje sieci Wi-Fi, które są częścią jego sieci podstawowej i wyświetlane jako część sieci komórkowej. Działa to w zależności od metodyWifiNetworkSuggestion.Builder#setCarrierMerged(booleanisCarrierMerged)
.CarrierConfigManager#KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL
: wartość logiczna wskazująca, czy połączenie z siecią danych (IP) jest używane jako warunek dodatkowy do wyświetlania ikony brak połączenia.CarrierConfigManager#KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL
: wartość logiczna wskazująca, czy ikona siły połączenia jest wyświetlana w interfejsie systemu.
Interfejsy Framework API
Aby tymczasowo wyłączyć pobliskie sieci Wi-Fi, użyj tych interfejsów API:
WifiManager#startRestrictingAutoJoinToSubscriptionId(int subscriptionId)
: umożliwia użytkownikowi wybranie sieci operatora bez wyłączania Wi-Fi. Wyłącza wszystkie widoczne sieci Wi-Fi na co najmniej 30 minut (sterowanie za pomocą nakładkiconfig_wifiAllNonCarrierMergedWifiMinDisableDurationMinutes
) i maksymalnie na 6 godzin (sterowanie za pomocą nakładkiconfig_wifiAllNonCarrierMergedWifiMaxDisableDurationMinutes
). Sieci Wi-Fi są ponownie włączane, gdy włączysz Wi-Fi, uruchomisz ponownie urządzenie, użytkownik wybierze sieć Wi-Fi (w tym przypadku interfejs APIstopRestrictingAutoJoinToSubscriptionId()
jest uruchamiany przez Ustawienia) lub sieć nie jest widoczna przez 60 minut.WifiManager#stopRestrictingAutoJoinToSubscriptionId()
: przywraca normalne działanie.
Aby obsługiwać przycisk resetowania i interfejs użytkownika do rozwiązywania problemów, który jest implementowany w klasie com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager
, użyj tych interfejsów API:
WifiManager#restartWifiSubsystem(String reason)
: uruchamia ponownie subsystem Wi-Fi.TelephonyManager#rebootRadio()
: resetuje modem radia.
Praca z wieloma operatorami
Jeśli uprościsz obsługę połączeń dla niektórych operatorów, ale nie dla innych, pamiętaj o sytuacji, w której użytkownik korzysta z 2 kart SIM – jednej od partnera operatora, który wprowadził zmiany w interfejsie, a drugiej – nie. W tym scenariuszu określ, które elementy interfejsu widzą użytkownicy, i dokładnie przetestuj działanie na swoich urządzeniach.