Android APN akreditivi i mrežni ProxyInfo služe različitim svrhama
Čitajte konfiguraciju mrežnog proxyja kroz Androidove podržane interfejse i držite pristupne akreditive operatera odvojeno od računa HTTP proxyja.
Android aplikaciji može trebati trenutna proxy adresa, a da ne posjeduje postavke veze. Počnite s interfejsom mrežnog proxyja umjesto traženja kolone u bazi podataka zvane user ili password.
Telefonska APN konfiguracija opisuje pristup operatera. Njena polja računa pripadaju toj konfiguraciji. Ona nisu opće spremište akreditiva za HTTP proxy odabran na Wi-Fi mreži, upravljanoj mreži ili privatnoj vezi aplikacije.
| Potrebna informacija | Relevantna konfiguracija |
|---|---|
| Račun za pristup podacima operatera | APN postavke, s ograničenjima pristupa platforme |
| Trenutni mrežni HTTP proxy | ConnectivityManager i ProxyInfo |
| Prijava koju zahtijeva odabrani proxy | Tok autentifikacije koji klijent podržava i odobreni izvor računa |
Na podržanoj verziji Androida ConnectivityManager.getDefaultProxy() vraća primjenjive podatke o proxyju. Rezultat može izostati. ProxyInfo može opisivati izravnu krajnju točku ili PAC konfiguraciju, pa provjerite njegov oblik prije nego svaki rezultat tretirate kao par hosta i porta.
ProxyInfo ne izlaže univerzalni par korisničkog imena i lozinke. Ako odabrana usluga zahtijeva autentifikaciju, pribavite namjeravani račun kroz aranžman akreditiva koji aplikacija podržava. Proxy izazov i prijava kod operatera mogu koristiti potpuno različite identitete.
To također razdvaja otkrivanje od upotrebe. Izvorni socket ili SDK s vlastitim transportom ne postaje svjestan proxyja samo zato što aplikacija može čitati ProxyInfo. Predajte odabranu rutu klijentu koji podržava njen protokol i metodu autentifikacije.
Stariji primjeri koji upituju davatelja telefonskog sadržaja opisuju određene Android verzije i dozvole. Oni su koristan povijesni kontekst, ali ne mogu pretvoriti APN račun u nedostajuću lozinku za nepovezani proxy.