Android WebView: bruk proxy-overstyringa før navigering
Bruk funksjonssjekken og fullføringstilbakekallinga i AndroidX WebKit, og ta omsyn til overstyringa som WebView deler i éin prosess.
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.
- 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. - Bygg den tiltenkte
ProxyConfigmed 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. - Kall
ProxyController.setProxyOverride()med den konfigurasjonen, ein utførar og ein fullføringslyttar. Start avhengig navigering frå fullføringsstien. - 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.