Las credenciales APN de Android y Network ProxyInfo tienen propósitos distintos
Lee la configuración del proxy de red mediante las interfaces compatibles de Android y mantén las credenciales de acceso del operador separadas de una cuenta de proxy HTTP.
Una aplicación de Android puede necesitar la dirección del proxy actual sin poseer la configuración de conexión. Empieza por la interfaz de proxy de red en lugar de buscar cualquier columna de base de datos llamada user o password.
La configuración APN de telefonía describe el acceso del operador. Sus campos de cuenta pertenecen a esa configuración. No son un almacén general de credenciales para el proxy HTTP seleccionado en Wi-Fi, en una red administrada o en una conexión privada de una aplicación.
| Información necesaria | Configuración pertinente |
|---|---|
| Cuenta de acceso a datos del operador | Ajustes de APN, con las restricciones de acceso de la plataforma |
| Proxy HTTP actual de la red | ConnectivityManager y ProxyInfo |
| Inicio de sesión que exige un proxy seleccionado | El flujo de autenticación compatible con el cliente y la fuente de cuenta aprobada |
En una versión de Android compatible, ConnectivityManager.getDefaultProxy() devuelve la información de proxy aplicable. El resultado puede estar ausente. Un ProxyInfo puede describir un extremo directo o una configuración PAC, así que inspecciona su forma antes de tratar cada resultado como un par de host y puerto.
ProxyInfo no expone un par universal de usuario y contraseña. Si el servicio elegido requiere autenticación, obtén la cuenta prevista mediante el mecanismo de credenciales compatible con la aplicación. Un desafío de proxy y un inicio de sesión del operador pueden usar identidades completamente distintas.
Esto también separa el descubrimiento del uso. Un socket nativo o un SDK con su propio transporte no se vuelve consciente del proxy solo porque la aplicación pueda leer ProxyInfo. Entrega la ruta seleccionada a un cliente que admita su protocolo y su método de autenticación.
Los ejemplos antiguos que consultan un proveedor de contenido de telefonía describen versiones y permisos concretos de Android. Son un contexto histórico útil, pero no pueden convertir una cuenta APN en la contraseña que falta para un proxy no relacionado.