WebView-näkymän välityspalvelimen ohituksesta riippuvan navigoinnin tulisi alkaa sen jälkeen, kun ohituksen valmistumiskuuntelija on suoritettu. Sen asettaminen ja sivun lataaminen heti jättää toiminnon kilpailemaan asynkronisen päivityksen kanssa.

  1. Tarkista WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE). Tuki riippuu WebView-toteutuksesta ja AndroidX WebKit -kirjastosta sekä Androidin API-tasosta. Määrittele, mitä tapahtuu, kun sitä ei ole; hiljainen suora yhteys voi tehdä ominaisuudesta hyödyttömän.
  2. Rakenna haluttu ProxyConfig sen dokumentoitujen välityspalvelinsääntöjen, päätepisteen syntaksin ja ohituskäyttäytymisen mukaisesti. Sallittua julkisten sivustojen navigointia varten valitse ehdokas ilmaisten välityspalvelimien luettelosta, jonka protokolla vastaa sääntöä, jota kyseinen WebView-toteutus tukee. PAC-URL, SOCKS-URI ja pelkkä isäntänimi ovat eri syötteitä.
  3. Kutsu ProxyController.setProxyOverride() kyseisellä kokoonpanolla, suorittajalla ja valmistumiskuuntelijalla. Aloita riippuva navigointi valmistumispolusta.
  4. Kun väliaikainen ohitus päättyy, tyhjennä se clearProxyOverride()-kutsulla ja käsittele myös sen asynkroninen valmistuminen.

Anna tälle elinkaarelle yksi omistaja. Asetus koskee kaikkia sovellusprosessin WebView-näkymiä; toistuva muuttaminen ei voi antaa kahdelle samanaikaiselle näkymälle itsenäisiä poistumisteitä. Muilla prosesseilla ja HTTP-kirjastoilla on omat reittinsä.

Tämä tuettu rajapinta välttää riippuvuuden yksityisistä välityspalvelimen muutoskuuntelijoista, jotka vaihtelevat Android-julkaisujen välillä. Se valitsee reitityksen; välityspalvelimen tunnistetiedot ja varmenteiden luottamus käyttävät edelleen omia tuettuja mekanismejaan. Todennuksen tai TLS:n epäonnistuminen valinnan jälkeen on diagnosoitava siinä vaiheessa.

Aiheeseen liittyvät artikkelit