Na urządzeniach z Androidem 12 lub nowszym producenci mogą opcjonalnie wprowadzić uproszczony sposób łączenia się z siecią, który ułatwia użytkownikom zrozumienie połączeń sieciowych, przełączanie się między dostawcami internetu i rozwiązywanie problemów z łącznością. Te zmiany w środowisku użytkownika w porównaniu z Androidem 11 lub starszym są widoczne w interfejsie, ikonach i zmianach w interfejsie API w przypadku szybkich ustawień i ustawień. Wszystkie te zmiany są dostępne w AOSP, dzięki czemu producenci urządzeń mogą je włączać w niezmienionej postaci lub dostosowywać.
Omówienie uproszczonego połączenia
W tej sekcji opisujemy główne zmiany w interfejsie użytkownika uproszczonego połączenia w AOSP od Androida 12.
Kafelek Internet w Szybkich ustawieniach
Menu Szybkie ustawienia zawiera kafelek Internet, który otwiera panel Internet, gdzie użytkownicy mogą przełączać się między połączeniami Wi-Fi i komórkowymi. Kafelek Internet łączy kafelki Wi-Fi i Mobilna transmisja danych używane w Androidzie 11 lub starszym.
Rysunek 1. Kafelek Internet w Szybkich ustawieniach
Sekcja Połączenia i SMS-y w Ustawieniach
W aplikacji Ustawienia w sekcji Sieć i internet znajduje się sekcja Połączenia i SMS-y, w której wyświetlany jest stan dostępności i opcje rozmów przez Wi-Fi.
Rysunek 2. Sekcja Połączenia i SMS-y w Ustawieniach
Przycisk Resetuj w Ustawieniach
W aplikacji Ustawienia w sekcji Sieć i internet > Internet znajduje się przycisk resetowania, który umożliwia użytkownikom zresetowanie modemów telefonicznych i Wi-Fi na urządzeniu. Może to być przydatne podczas rozwiązywania problemów z łącznością sieciową.
Rysunek 3. Przycisk resetowania do rozwiązywania problemów z łącznością
Implementacja
Aby włączyć uproszczone połączenie na urządzeniu, użyj tego globalnego ustawienia:
- Nazwa:
persist.sys.fflag.override.settings_provider_model
- Rodzaj: wartość logiczna
- Wartość: ustaw wartość
true
, aby włączyć uproszczenie połączeń, lubfalse
, aby wyłączyć tę funkcję i używać 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 przewoźników za pomocą konfiguracji przewoźnika. 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 są wyświetlane jako część sieci komórkowej. Działa to w połączeniu z metodąWifiNetworkSuggestion.Builder#setCarrierMerged(booleanisCarrierMerged)
.CarrierConfigManager#KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL
: wartość logiczna wskazująca, czy łączność z siecią danych (IP) jest używana jako warunek dodatkowy do ograniczenia wyświetlania ikony brak połączeń.CarrierConfigManager#KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL
: wartość logiczna wskazująca, czy ikona siły sygnału 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)
: umożliwia użytkownikowi wybranie sieci komórkowej bez wyłączania Wi-Fi. Wyłącza wszystkie widoczne sieci Wi-Fi na co najmniej 30 minut (czas trwania jest kontrolowany za pomocą nakładkiconfig_wifiAllNonCarrierMergedWifiMinDisableDurationMinutes
) i maksymalnie 6 godzin (czas trwania jest kontrolowany za pomocą nakładkiconfig_wifiAllNonCarrierMergedWifiMaxDisableDurationMinutes
). Sieci Wi-Fi są ponownie włączane, gdy Wi-Fi jest przełączane, urządzenie jest ponownie uruchamiane, użytkownik wybierze sieć Wi-Fi (w takim przypadku interfejsstopRestrictingAutoJoinToSubscriptionId()
API jest wykonywany przez Ustawienia) lub gdy 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 zaimplementowany w klasiecom.android.settingslib.connectivity.ConnectivitySubsystemsRecoveryManager
, użyj tych interfejsów API:
WifiManager#restartWifiSubsystem(String reason)
: ponownie uruchamia podsystem Wi-Fi.TelephonyManager#rebootRadio()
: resetuje modem radiowy.
Współpraca z wieloma przewoźnikami
Jeśli w przypadku niektórych operatorów wprowadzisz uproszczoną łączność, a w przypadku innych nie, pamiętaj o scenariuszu z wieloma kartami SIM, w którym użytkownik używa dwóch kart SIM, z których jedna pochodzi od operatora partnerskiego, który zdecydował się na zmiany w interfejsie, a druga nie. W takim przypadku zdecyduj, który interfejs użytkownicy będą widzieć, i dokładnie przetestuj działanie na swoich urządzeniach.