Navigatioun, déi vun enger WebView-Proxy-Iwwerschreiwung ofhänkt, soll ufänken, nodeems de Vervollstännegungs-Lauschterer vun der Iwwerschreiwung gelaf ass. Se setzen an direkt eng Säit lueden, léisst d'Operatioun mat enger asynchroner Aktualiséierung konkurréieren.

  1. Préift WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE). D'Ënnerstëtzung hänkt vun der WebView-Implementéierung an der AndroidX WebKit-Bibliothéik souwéi vum API-Niveau vun Android of. Definéiert, wat geschitt, wann se feelt; roueg direkt weidergoen kann d'Funktioun zerstéieren.
  2. Baut den ugedachte ProxyConfig mat senge dokumentéierte Proxy-Reegelen, der Endpunkt-Syntax an dem Bypass-Verhalen. Fir erlaabt Navigatioun op ëffentlech Säiten, wielt e Kandidat aus der Lëscht vu gratis Proxien, deem säi Protokoll mat enger Reegel iwwereneenstemmt, déi déi WebView-Implementéierung ënnerstëtzt. Eng PAC-URL, eng SOCKS-URI an e bloe Host sinn ënnerschiddlech Inputen.
  3. Rufft ProxyController.setProxyOverride() mat där Konfiguratioun, engem Executor an engem Vervollstännegungs-Lauschterer op. Fänkt d'ofhängeg Navigatioun aus dem Vervollstännegungspad un.
  4. Wann déi temporär Iwwerschreiwung ophält, läscht se mat clearProxyOverride() a behandelt och hir asynchron Vervollstännegung.

Gitt dësem Liewenszyklus een eenzegen Eegentemer. D'Astellunge gëlle fir WebViewe am ganze Prozess vun der Applikatioun; se widderholl z'änneren kann zwee gläichzäiteg Vueen keng onofhängeg Ausgäng ginn. Aner Prozesser an HTTP-Bibliothéike hunn hir eege Weeër.

Dës ënnerstëtzte Schnëttstell vermeit d'Ofhängegkeet vu private Proxy-Ännerungs-Lauschterer, déi tëscht Android-Versiounen ënnerscheeden. Se wielt d'Routing; Proxy-Identitéiten an Zertifikatsvertrauen benotze weider hir ënnerstëtzte Mechanismen. En Authentifikatiouns- oder TLS-Feeler no der Auswiel muss an där Etapp diagnostizéiert ginn.

Ähnlech Artikelen