Android Webview setzt Proxy programmatisch Kitkat

7

Weiß jemand, wie wir Proxy in android webview programmatisch auf späteste Kitkat Freigabe einstellen können?

Dieser SO Link WebView Android Proxy spricht über Version bis SDK Version 18. Aber diese Lösung nicht mehr arbeitet mit Kitkat, da die zugrunde liegende Webkit-Implementierung geändert wurde und jetzt Chrom verwendet wird.

    
user1734209 14.11.2013, 13:56
quelle

6 Antworten

19

Hier ist meine Lösung:

%Vor%

Ich hoffe, es kann dir helfen.

Hinweis: Der Context-Parameter sollte ein Anwendungskontext sein, wie der Parametername gezeigt hat. Sie könnten Ihre eigene implementierte Anwendungsinstanz verwenden, die Application erweitert.

    
xjy2061 26.12.2013, 11:49
quelle
4

Ich habe einige Änderungen an der @ xjy2061-Antwort vorgenommen.

Änderungen sind:

  1. getDeclaredField to getField - & gt; Sie verwenden dies, wenn Sie Ihre eigene Anwendungsklasse deklariert haben. Sonst wird es es nicht finden.

Denken Sie auch daran, "com.your.application" in den kanonischen Namen Ihrer eigenen Anwendung zu ändern.

%Vor%     
nubela 23.01.2014 12:44
quelle
2

Ich erstelle eine cordova android-Anwendung und konnte nicht herausfinden, warum ajax-Anfragen an interne Hosts im Netzwerk meines Unternehmens bei KitKat fehlgeschlagen sind. Alle nativen Webanfragen waren erfolgreich und alle Ajax-Anfragen auf Android-Versionen unter 4.4 waren ebenfalls erfolgreich. Die Ajax-Anfragen scheiterten nur bei der internen Firma wifi, die noch verwirrender war.

Es stellt sich heraus, dass KitKat eine neue Chrome-Webansicht verwendet, die sich von den Standard-Webansichten anderer Android-Versionen unterscheidet. Es gibt einen Fehler in der Version von Chrom, die von kitkat verwendet wird, wenn die Proxy-Ausschlussliste nicht beachtet wird. Unsere Firma wifi setzt einen Proxy-Server, und schließt alle internen Hosts aus. Die Ajax-Anfragen scheiterten schließlich, weil die Authentifizierung beim Proxy fehlschlug. Da diese Anfragen an interne Hosts gerichtet sind, sollte sie niemals zuvor den Proxy durchlaufen haben. Ich konnte die Antwort von xjy2061 an meinen Anwendungsfall anpassen.

Hoffentlich hilft das jemandem in der Zukunft und erspart ihnen ein paar Tage Kopfknallen.

%Vor%

Sie würden die obige Methode wie folgt aufrufen:

Importieren Sie diese Bibliothek zuerst am Anfang Ihrer Datei.

%Vor%

Rufen Sie dann die Methode

auf %Vor%     
njtman 06.11.2014 14:11
quelle
1

Ссылка

Verfügt über Methoden zum Festlegen des Proxys. Ich versuche immer noch herauszufinden, wie ich dies aus Java-Code heraus aufrufen kann. Zeiger?

    
Karthik 24.11.2013 05:37
quelle
0

Ссылка

Wenn Sie von diesem Patch ausgehen, können Sie vielleicht in naher Zukunft wieder einen Proxy einrichten.

    
user3105644 16.12.2013 00:07
quelle
0

Probleme mit der bereitgestellten Lösung auf einigen Geräten beim Laden der Seite von onCreate nach dem Einstellen der Proxy-Konfiguration. Das Öffnen der Webseite nach einer kleinen Verzögerung löste das Problem. Scheint so, als ob die Proxy-Konfiguration einige Zeit benötigt, um effektiv zu werden.

    
fabe 26.06.2014 12:34
quelle