Poświadczenia APN Androida i Network ProxyInfo służą różnym celom
Czytaj konfigurację proxy sieci przez interfejsy obsługiwane przez Androida i trzymaj poświadczenia dostępu operatora oddzielnie od konta proxy HTTP.
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 informacja | Odpowiednia konfiguracja |
|---|---|
| Konto dostępu do danych operatora | Ustawienia APN, z ograniczeniami dostępu platformy |
| Bieżące proxy HTTP sieci | ConnectivityManager i ProxyInfo |
| Logowanie wymagane przez wybrane proxy | Obsł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.