Webview Android configurer le proxy par programme Kitkat
Comment peut-on configurer le proxy dans webview Android par programme sur la dernière version de Kitkat, la libération?
Ce DONC, le lien WebView android proxy parle jusqu'à la version du SDK de la version 18. Mais ces solution n'a plus fonctionne avec Kitkat sous-jacentes de webkit mise en œuvre est changé et il utilise chrome maintenant.
OriginalL'auteur Krishna Kumar | 2013-11-14
Vous devez vous connecter pour publier un commentaire.
Voici ma solution:
J'espère que cela peut vous aider.
Remarque: Le paramètre de Contexte doit être un contexte d'Application comme le nom du paramètre a montré, vous pouvez utiliser votre propre mise en œuvre instance de l'Application qui s'étendent de l'Application.
ne fonctionne pas pour moi.. java.lang.NoSuchFieldException: mLoadedApk (Neuxs 5, ART)
vous devez utiliser le contexte de l'application en tant que premier paramètre, que ma récente mise à jour a dit. @Herry
pour réinitialiser vous pouvez changer les 4 premières lignes:
Properties properties = System.getProperties(); properties.remove("http.proxyHost"); properties.remove("http.proxyPort"); properties.remove("https.proxyHost"); properties.remove("https.proxyPort");
, et changer le bloc optionnel pourintent.putExtra("proxy", null);
. @KoMetpeut-être vous importez la mauvaise classe, le
ArrayMap
devrait être android.util.ArrayMap qui a ajouté de l'api de niveau 19OriginalL'auteur xjy2061
J'ai apporté quelques modifications à @xjy2061 de réponse.
Modifications sont les suivantes:
Aussi, n'oubliez pas de changement "com.votre.l'application" à votre propre classe de l'application canonique nom.
OriginalL'auteur nubela
Je suis entrain de créer un cordova application android, et ne pouvais pas comprendre pourquoi les requêtes ajax interne, les machines de mon réseau de l'entreprise ont été défaillante sur KitKat. Toutes les requêtes web réussi, et toutes les requêtes ajax sur les versions d'android 4.4 ci-dessous réussi aswell. Les requêtes ajax seulement échoué lors à l'intérieur de la société le wifi, qui était encore plus perplexe.
S'avère KitKat utilise un nouveau chrome webview qui est différent de la norme webviews utilisé dans les précédentes versions d'android. Il y a un bug dans la version de chrome que kitkat où il ne respecte pas le proxy de la liste d'exclusion. Notre entreprise wifi définit un serveur proxy, et et exclut tous les hôtes internes. Les requêtes ajax ont finalement échoué car l'authentification du proxy a été un échec. Depuis ces demandes sont d'hôtes internes, il n'aurait jamais été de passer par le proxy pour commencer. J'ai été en mesure de s'adapter xjy2061 de réponse pour l'adapter à mon cas d'utilisation.
J'espère que cela aide quelqu'un dans le futur et les enregistre quelques jours de se cogner la tête.
Vous appelez la méthode ci-dessus comme suit:
D'abord importer cette bibliothèque en haut de votre fichier.
Puis appeler la méthode
OriginalL'auteur njtman
https://android.googlesource.com/platform/external/chromium/+/android-4.4_r1/net/proxy/proxy_config_service_android.cc
A des méthodes pour définir le proxy. Je suis encore à essayer de comprendre comment appeler ce à partir du code Java. Les pointeurs?
OriginalL'auteur Karthik
https://codereview.chromium.org/26763005
Deviner à partir de ce patch, vous serez en mesure de configurer un proxy dans un avenir proche, peut-être.
OriginalL'auteur user3105644
Eu quelques problèmes avec la solution fournie sur certains appareils lors du chargement de la page de onCreate immédiatement après le réglage de la configuration du proxy. Ouverture de la page web après quelques petites retard résolu le problème. Semble que le proxy config besoin de quelque temps pour obtenir efficace.
OriginalL'auteur fabe