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.
Ich habe einige Änderungen an der @ xjy2061-Antwort vorgenommen.
Änderungen sind:
Denken Sie auch daran, "com.your.application" in den kanonischen Namen Ihrer eigenen Anwendung zu ändern.
%Vor%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%Wenn Sie von diesem Patch ausgehen, können Sie vielleicht in naher Zukunft wieder einen Proxy einrichten.
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.
Tags und Links android-webview android-4.4-kitkat