Wie kann man die http-proxy-programmatisch?
Ich bin auf der Suche für eine programmatische Möglichkeit zum Aufbau von http-proxy-Einstellungen für android-Handys. Ich habe versucht, mit android.Anbieter.Einstellungen.System.putString (), um System.HTTP_PROXY, aber mein Aufruf fehlschlägt (ich bin mit einem 2.2-emulator Bild im moment). Mein code sieht wie folgt aus:
if (System.putString(getContentResolver(), System.HTTP_PROXY, "10.10.2.1:8080")) {
tv.append("put for HTTP_PROXY succeeded.\n");
}
else {
tv.append("put for HTTP_PROXY failed.\n");
}
Außerdem habe ich auf meinem android-manifest:
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
..obwohl es ist nicht klar aus der Dokumentation, die Erlaubnis, wenn überhaupt, ist erforderlich.
Ich bin vertraut mit diese SO-thread, aber die Technik es erfordert-Handbuch adb-Befehle, die die SDK-tools und (möglicherweise) ein verwurzelt Telefon.
Gibt es eine Möglichkeit, dies zu erreichen? Im Idealfall würde ich gerne Weg, um ein http-proxy verwendet wird, für Daten-und wifi-verbindungen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist nicht möglich, dies zu tun als ein 3rd-party-app. Erhalten Sie diese Meldung:
Nur apps, die unterzeichnet sind mit dem gleichen Schlüssel wie die system-apps können diese Berechtigung (D. H.: wenn Sie Kochen Sie Ihre eigenen rom, könnte man hinzufügen, dass Funktionalität)
Mehr Infos über Berechtigungsstufen auf diese Frage, speziell adamk Antwort.
Warum sind diese Berechtigungen verweigert?
Wenn Sie die Begrenzung der Verwendung von proxies, um Ihre eigene Anwendung, die Sie verwenden können, die Proxy und ProxySelector API.
Werden die proxy-check Mike ' s Antwort;
Folgende code-snippet abrufen von proxy-details
Werde zurückkehren leer, wenn einige Ausnahme oder kein proxy erkannt;
Können Sie den proxy für Ihre Anwendung VM, aber aus Sicherheitsgründen Drittanbieter-apps können nicht über die Funktion Geräte-proxy.
Haben Sie versucht, zu
call the com.android.settings.ProxySelector
Aktivität und lassen Sie den Benutzer zur Eingabe der proxy? Es ist Global gespeichert, aber es scheint, dass es nicht die Unterstützung der standard-Proxy und ProxySelector-API (für dieses problem gibt es bereits eine andere Frage: Wie Benutzer/Entwickler können die Android-proxy-Konfiguration für Version 2.x?)Fand ich etwas hier, dass sieht aus wie es funktionieren könnte
Müssen Sie
Ihrem manifest.