Aplikacja Android może potrzebować bieżącego adresu proxy, nie posiadając ustawień połączenia. Zacznij od interfejsu proxy sieci, zamiast szukać kolumny bazy danych o nazwie user lub password.

Konfiguracja APN telefonii opisuje dostęp operatora. Jej pola konta należą do tej konfiguracji. Nie są ogólnym magazynem poświadczeń dla proxy HTTP wybranego w Wi-Fi, sieci zarządzanej lub prywatnym połączeniu aplikacji.

Potrzebna informacjaOdpowiednia konfiguracja
Konto dostępu do danych operatoraUstawienia APN, z ograniczeniami dostępu platformy
Bieżące proxy HTTP sieciConnectivityManager i ProxyInfo
Logowanie wymagane przez wybrane proxyObsługiwany przez klienta przepływ uwierzytelniania i zatwierdzone źródło konta

W obsługiwanej wersji Androida ConnectivityManager.getDefaultProxy() zwraca odpowiednie informacje o proxy. Wynik może być nieobecny. ProxyInfo może opisywać bezpośredni punkt końcowy lub konfigurację PAC, więc sprawdź jego formę, zanim każdy wynik potraktujesz jako parę hosta i portu.

ProxyInfo nie udostępnia uniwersalnej pary nazwy użytkownika i hasła. Jeśli wybrana usługa wymaga uwierzytelniania, uzyskaj zamierzone konto przez obsługiwany przez aplikację mechanizm poświadczeń. Wyzwanie proxy i logowanie u operatora mogą używać zupełnie różnych tożsamości.

Oddziela to również wykrywanie od użycia. Gniazdo natywne lub SDK z własnym transportem nie staje się świadome proxy tylko dlatego, że aplikacja może czytać ProxyInfo. Przekaż wybraną trasę klientowi, który obsługuje jej protokół i metodę uwierzytelniania.

Starsze przykłady odpytujące dostawcę treści telefonii opisują konkretne wersje i uprawnienia Androida. Są przydatnym kontekstem historycznym, ale nie mogą zmienić konta APN w brakujące hasło do niepowiązanego proxy.

Powiązane artykuły