Eine Android-Anwendung kann die aktuelle Proxy-Adresse benötigen, ohne die Verbindungseinstellungen zu besitzen. Beginne mit der Netzwerk-Proxy-Schnittstelle, statt nach einer Datenbankspalte namens user oder password zu suchen.

Die Telefonie-APN-Konfiguration beschreibt den Zugang des Mobilfunkanbieters. Ihre Kontofelder gehören zu dieser Konfiguration. Sie sind kein allgemeiner Speicher für Anmeldedaten des HTTP-Proxys, der im WLAN, in einem verwalteten Netzwerk oder in einer privaten Verbindung einer Anwendung ausgewählt wurde.

Benötigte InformationRelevante Konfiguration
Datenzugangskonto des MobilfunkanbietersAPN-Einstellungen mit den Zugriffsbeschränkungen der Plattform
Aktueller HTTP-Proxy des NetzwerksConnectivityManager und ProxyInfo
Vom ausgewählten Proxy verlangte AnmeldungDer vom Client unterstützte Authentifizierungsablauf und die zulässige Kontoquelle

Unter einer unterstützten Android-Version liefert ConnectivityManager.getDefaultProxy() die zutreffenden Proxy-Informationen. Das Ergebnis kann ausbleiben. Ein ProxyInfo kann einen direkten Endpunkt oder eine PAC-Konfiguration beschreiben; prüfe daher seine Form, bevor du jedes Ergebnis als Host-Port-Paar behandelst.

ProxyInfo stellt kein universelles Benutzername-Passwort-Paar bereit. Wenn der gewählte Dienst eine Authentifizierung verlangt, besorge das vorgesehene Konto über die von der Anwendung unterstützte Anmeldedaten-Regelung. Eine Proxy-Aufforderung und eine Anmeldung beim Mobilfunkanbieter können völlig unterschiedliche Identitäten verwenden.

Damit trennt sich auch die Ermittlung von der Nutzung. Ein nativer Socket oder ein SDK mit eigenem Transport wird nicht dadurch proxyfähig, dass die Anwendung ProxyInfo lesen kann. Gib die ausgewählte Route an einen Client, der ihr Protokoll und ihre Authentifizierungsmethode unterstützt.

Ältere Beispiele, die einen Telefonie-Content-Provider abfragen, beschreiben bestimmte Android-Versionen und Berechtigungen. Sie sind nützlicher historischer Kontext, aber sie können aus einem APN-Konto nicht das fehlende Passwort für einen fremden Proxy machen.

Ähnliche Artikel