Navigering som er avhengig av ei proxy-overstyring i WebView, bør starte etter at fullføringslyttaren til overstyringa har køyrt. Å setje ho og laste ei side med ein gong lèt operasjonen kappast med ei asynkron oppdatering.

  1. Sjekk WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE). Støtta er avhengig av WebView-implementasjonen og AndroidX WebKit-biblioteket samt API-nivået i Android. Definer kva som skjer når ho manglar; å gå direkte i det stille kan gjere funksjonen verknadslaus.
  2. Bygg den tiltenkte ProxyConfig med dei dokumenterte proxyreglane, endepunktsyntaksen og omgåingsåtferda. For tillaten navigering til offentlege nettstader, vel ein kandidat frå lista over gratis proxyar der protokollen samsvarar med ei regel som den WebView-implementasjonen støttar. Ein PAC-URL, SOCKS-URI og berr vert er ulike inndata.
  3. Kall ProxyController.setProxyOverride() med den konfigurasjonen, ein utførar og ein fullføringslyttar. Start avhengig navigering frå fullføringsstien.
  4. Når den mellombelse overstyringa tek slutt, fjern ho med clearProxyOverride() og handsam òg den asynkrone fullføringa hennar.

Gje den livssyklusen éin eigar. Innstillinga gjeld for WebView i heile applikasjonsprosessen; gjenteken endring kan ikkje gje to samtidige visningar uavhengige utgangar. Andre prosessar og HTTP-bibliotek har sine eigne ruter.

Dette støtta grensesnittet unngår avhengnad av private proxyendringslyttarar som varierer mellom Android-utgåver. Det vel ruting; proxy-legitimasjon og sertifikattillit brukar framleis dei støtta mekanismane sine. Ein autentiserings- eller TLS-feil etter valet må diagnostiserast i den fasen.

Relaterte artiklar