Dylai llywio sy'n dibynnu ar ddiystyru proesi WebView ddechrau ar ôl i wrandawr cwblhau'r diystyru redeg. Mae ei osod a llwytho tudalen ar unwaith yn gadael y llawdriniaeth yn rasio yn erbyn diweddariad asyncronaidd.

  1. Gwiriwch WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE). Mae cymorth yn dibynnu ar weithrediad WebView a llyfrgell AndroidX WebKit yn ogystal â lefel API Android. Diffiniwch beth sy'n digwydd pan nad yw ar gael; gall mynd yn syth yn ddistaw danddinistrio'r nodwedd.
  2. Adeiladwch y ProxyConfig arfaethedig gan ddefnyddio ei reolau proesi dogfennol, cystrawen pwynt terfyn a'r ymddygiad osgoi. Ar gyfer llywio caniatiedig i safleoedd cyhoeddus, dewiswch ymgeisydd o'r rhestr proesi am ddim y mae ei brotocol yn cyfateb i reol a gefnogir gan y gweithrediad WebView hwnnw. Mae URL PAC, URI SOCKS a gwesteiwr noeth yn fewnbynnau gwahanol.
  3. Galwch ProxyController.setProxyOverride() gyda'r ffurfweddiad hwnnw, gweithredydd a gwrandawr cwblhau. Dechreuwch lywio dibynnol o'r llwybr cwblhau.
  4. Pan ddaw'r diystyru dros dro i ben, cliriwch ef gyda clearProxyOverride() a thriniwch ei gwblhau asyncronaidd hefyd.

Rhowch un perchennog i'r cylch bywyd hwnnw. Mae'r gosodiad yn berthnasol i WebViews drwy broses y rhaglen; ni all ei newid dro ar ôl tro roi allanfeydd annibynnol i ddau olygfa ar yr un pryd. Mae gan brosesau eraill a llyfrgelloedd HTTP eu llwybrau eu hunain.

Mae'r rhyngwyneb a gefnogir hwn yn osgoi dibynnu ar wrandawyr newid proesi preifat sy'n amrywio rhwng rhyddhau Android. Mae'n dewis llwybro; mae tystlythyrau proesi ac ymddiriedaeth tystysgrifau yn dal i ddefnyddio eu mecanweithiau a gefnogir. Mae angen diagnosio methiant dilysu neu TLS ar ôl dewis ar y cam hwnnw.

Erthyglau cysylltiedig