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, 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 opisujemy główne zmiany w interfejsie uproszczonego połączenia w AOSP począwszy od Androida 12.
Kafelek Internet w Szybkich ustawieniach
Menu Szybkie ustawienia zawiera kafelek Internet otwierający panel internetowy, w którym użytkownicy mogą przełączać się między połączeniami Wi-Fi i komórkowymi. Płytka Internet łączy w siebie płytki Wi-Fi i Mobilna transmisja danych używane w Androidzie 11 lub nowszym.
Rysunek 1. Kafelek Internet w Szybkich ustawieniach
Sekcja Połączenia i SMS-y w Ustawieniach
Aplikacja Ustawienia zawiera sekcję Połączenia i SMS-y w obszarze Sieć i internet, w której sprawdzisz stan dostępności i 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:
- Nazwa:
persist.sys.fflag.override.settings_provider_model
- Typ: wartość logiczna
- Wartość: ustaw
true
, aby włączyć działanie upraszczające połączenie,false
, aby je wyłączyć i korzystać ze starszego działania. Od Androida 12 ścieżka kodu dlafalse
nie jest już aktywnie aktualizowana.
Dodatkowo możesz skonfigurować następujące tryby interfejsu dla poszczególnych operatorów, korzystając z 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 związku z metodąWifiNetworkSuggestion.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 API platformy
Aby tymczasowo wyłączyć pobliskie sieci Wi-Fi, użyj tych interfejsów API:
WifiManager#startRestrictingAutoJoinToSubscriptionId(int subscriptionId)
: pozwala użytkownikowi wybrać sieć 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 po każdym włączeniu Wi-Fi, urządzenie jest ponownie uruchamiane, gdy użytkownik wybierze sieć Wi-Fi (w takim przypadku interfejs APIstopRestrictingAutoJoinToSubscriptionId()
jest wykonywany w Ustawieniach) lub gdy sieć nie jest widoczna przez 60 minut.WifiManager#stopRestrictingAutoJoinToSubscriptionId()
: przywraca normalne działanie.
Do obsługi przycisku resetowania i interfejsu rozwiązywania problemów, który jest zaimplementowany w klasie com.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager
, użyj tych interfejsów API:
WifiManager#restartWifiSubsystem(String reason)
: uruchamia ponownie podsystem Wi-Fi.TelephonyManager#rebootRadio()
: resetuje modem radia.
Współpracuj 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 zachowanie aplikacji na swoich urządzeniach.