As credenciais APN de Android e Network ProxyInfo teñen finalidades distintas
Le a configuración do proxy de rede a través das interfaces compatibles de Android e mantén as credenciais de acceso do operador separadas dunha conta de proxy HTTP.
Unha aplicación de Android pode necesitar o enderezo do proxy actual sen posuír a configuración de conexión. Comeza pola interface de proxy de rede en lugar de buscar calquera columna de base de datos chamada user ou password.
A configuración APN de telefonía describe o acceso do operador. Os seus campos de conta pertencen a esa configuración. Non son un almacén xeral de credenciais para o proxy HTTP seleccionado en Wi-Fi, nunha rede xestionada ou nunha conexión privada dunha aplicación.
| Información necesaria | Configuración relevante |
|---|---|
| Conta de acceso a datos do operador | Axustes de APN, coas restricións de acceso da plataforma |
| Proxy HTTP actual da rede | ConnectivityManager e ProxyInfo |
| Inicio de sesión que esixe un proxy seleccionado | O fluxo de autenticación compatible co cliente e a fonte de conta aprobada |
Nunha versión de Android compatible, ConnectivityManager.getDefaultProxy() devolve a información de proxy aplicable. O resultado pode estar ausente. Un ProxyInfo pode describir un extremo directo ou unha configuración PAC, así que inspecciona a súa forma antes de tratar cada resultado como un par de host e porto.
ProxyInfo non expón un par universal de usuario e contrasinal. Se o servizo elixido require autenticación, obtén a conta prevista mediante o mecanismo de credenciais compatible coa aplicación. Un desafío de proxy e un inicio de sesión do operador poden usar identidades completamente distintas.
Isto tamén separa o descubrimento do uso. Un socket nativo ou un SDK co seu propio transporte non se volve consciente do proxy só porque a aplicación poida ler ProxyInfo. Entrega a ruta seleccionada a un cliente que admita o seu protocolo e o seu método de autenticación.
Os exemplos antigos que consultan un provedor de contido de telefonía describen versións e permisos concretos de Android. Son un contexto histórico útil, pero non poden converter unha conta APN no contrasinal que falta para un proxy non relacionado.