Navigering som avhenger av en proxy-overstyring i WebView, bør starte etter at overstyringens fullføringslytter har kjørt. Å sette den og laste en side med en gang lar operasjonen kappes med en asynkron oppdatering.

  1. Sjekk WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE). Støtten avhenger av WebView-implementasjonen og AndroidX WebKit-biblioteket samt Androids API-nivå. Definer hva som skjer når den mangler; å gå direkte i stillhet kan gjøre funksjonen virkningsløs.
  2. Bygg den tiltenkte ProxyConfig med dens dokumenterte proxyregler, endepunktsyntaks og omgåelsesatferd. For tillatt navigering til offentlige nettsteder, velg en kandidat fra listen over gratis proxyer der protokollen samsvarer med en regel som den WebView-implementasjonen støtter. En PAC-URL, SOCKS-URI og bar vert er forskjellige inndata.
  3. Kall ProxyController.setProxyOverride() med den konfigurasjonen, en utfører og en fullføringslytter. Start avhengig navigering fra fullføringsstien.
  4. Når den midlertidige overstyringen avsluttes, fjern den med clearProxyOverride() og håndter også dens asynkrone fullføring.

Gi den livssyklusen én eier. Innstillingen gjelder for WebView i hele applikasjonsprosessen; gjentatt endring kan ikke gi to samtidige visninger uavhengige utganger. Andre prosesser og HTTP-biblioteker har sine egne ruter.

Dette støttede grensesnittet unngår avhengighet av private proxyendringslyttere som varierer mellom Android-utgivelser. Det velger ruting; proxy-legitimasjon og sertifikattillit bruker fortsatt sine støttede mekanismer. En autentiserings- eller TLS-feil etter valget må diagnostiseres i den fasen.

Relaterte artikler