Le credenziali APN di Android e Network ProxyInfo servono scopi diversi
Leggi la configurazione del proxy di rete tramite le interfacce supportate di Android e tieni le credenziali di accesso dell'operatore separate da un account proxy HTTP.
Un'app Android può aver bisogno dell'indirizzo del proxy corrente senza possedere le impostazioni di connessione. Parti dall'interfaccia proxy di rete invece di cercare una colonna del database chiamata user o password.
La configurazione APN della telefonia descrive l'accesso dell'operatore. I suoi campi account appartengono a quella configurazione. Non sono un archivio generale di credenziali per il proxy HTTP selezionato su Wi-Fi, su una rete gestita o su una connessione privata di un'app.
| Informazione necessaria | Configurazione pertinente |
|---|---|
| Account di accesso ai dati dell'operatore | Impostazioni APN, con le restrizioni di accesso della piattaforma |
| Proxy HTTP attuale della rete | ConnectivityManager e ProxyInfo |
| Login richiesto da un proxy selezionato | Il flusso di autenticazione supportato dal client e l'origine dell'account approvata |
Su una versione di Android supportata, ConnectivityManager.getDefaultProxy() restituisce le informazioni proxy applicabili. Il risultato può essere assente. Un ProxyInfo può descrivere un endpoint diretto o una configurazione PAC, quindi esamina la sua forma prima di trattare ogni risultato come coppia host e porta.
ProxyInfo non espone una coppia universale nome utente/password. Se il servizio scelto richiede l'autenticazione, ottieni l'account previsto tramite il meccanismo di credenziali supportato dall'app. Una richiesta di autenticazione proxy e un login dell'operatore possono usare identità del tutto diverse.
Questo separa anche la scoperta dall'uso. Un socket nativo o un SDK con il proprio trasporto non diventa consapevole del proxy solo perché l'app può leggere ProxyInfo. Affida il percorso selezionato a un client che supporti il suo protocollo e il suo metodo di autenticazione.
Gli esempi più vecchi che interrogano un provider di contenuti di telefonia descrivono versioni e autorizzazioni Android specifiche. Sono un contesto storico utile, ma non possono trasformare un account APN nella password mancante per un proxy non correlato.