Les identifiants APN d'Android et Network ProxyInfo servent des usages différents
Lisez la configuration du proxy réseau via les interfaces prises en charge par Android et gardez les identifiants d'accès de l'opérateur séparés d'un compte de proxy HTTP.
Une application Android peut avoir besoin de l'adresse du proxy actuel sans détenir les paramètres de connexion. Commencez par l'interface de proxy réseau plutôt que de chercher une colonne de base de données nommée user ou password.
La configuration APN de téléphonie décrit l'accès de l'opérateur. Ses champs de compte appartiennent à cette configuration. Ils ne constituent pas un magasin d'identifiants général pour le proxy HTTP sélectionné en Wi-Fi, sur un réseau géré ou sur une connexion privée d'une application.
| Information nécessaire | Configuration concernée |
|---|---|
| Compte d'accès aux données de l'opérateur | Paramètres APN, avec les restrictions d'accès de la plateforme |
| Proxy HTTP actuel du réseau | ConnectivityManager et ProxyInfo |
| Connexion exigée par un proxy sélectionné | Le flux d'authentification pris en charge par le client et la source de compte approuvée |
Sur une version d'Android prise en charge, ConnectivityManager.getDefaultProxy() renvoie les informations de proxy applicables. Le résultat peut être absent. Un ProxyInfo peut décrire un point de terminaison direct ou une configuration PAC ; examinez donc sa forme avant de traiter chaque résultat comme une paire hôte-port.
ProxyInfo n'expose pas une paire universelle nom d'utilisateur/mot de passe. Si le service choisi exige une authentification, obtenez le compte prévu via le mécanisme d'identifiants pris en charge par l'application. Un défi de proxy et une connexion opérateur peuvent utiliser des identités totalement différentes.
Cela sépare aussi la découverte de l'utilisation. Un socket natif ou un SDK doté de son propre transport ne devient pas conscient du proxy simplement parce que l'application peut lire ProxyInfo. Confiez la route sélectionnée à un client qui prend en charge son protocole et sa méthode d'authentification.
Les exemples plus anciens qui interrogent un fournisseur de contenu de téléphonie décrivent des versions et des autorisations Android particulières. Ils constituent un contexte historique utile, mais ils ne peuvent pas transformer un compte APN en mot de passe manquant pour un proxy sans rapport.