Navigatie die afhangt van een proxy-overschrijving in WebView moet beginnen nadat de voltooiingslistener van de overschrijving is uitgevoerd. Deze instellen en meteen een pagina laden laat de bewerking racen met een asynchrone update.

  1. Controleer WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE). Ondersteuning hangt af van de WebView-implementatie en de AndroidX WebKit-bibliotheek en van het API-niveau van Android. Bepaal wat er gebeurt als deze ontbreekt; stilzwijgend direct doorgaan kan de functie tenietdoen.
  2. Bouw de beoogde ProxyConfig met de gedocumenteerde proxyregels, de eindpuntsyntaxis en het omzeilingsgedrag. Kies voor toegestane navigatie naar openbare sites een kandidaat uit de lijst met gratis proxy's waarvan het protocol overeenkomt met een regel die die WebView-implementatie ondersteunt. Een PAC-URL, SOCKS-URI en kale host zijn verschillende invoer.
  3. Roep ProxyController.setProxyOverride() aan met die configuratie, een executor en een voltooiingslistener. Begin afhankelijke navigatie vanuit het voltooiingspad.
  4. Wanneer de tijdelijke overschrijving eindigt, wis deze met clearProxyOverride() en verwerk ook de asynchrone voltooiing ervan.

Geef die levenscyclus één eigenaar. De instelling geldt voor WebViews in het hele applicatieproces; herhaald wijzigen kan twee gelijktijdige weergaven geen onafhankelijke uitgangen geven. Andere processen en HTTP-bibliotheken hebben hun eigen routes.

Deze ondersteunde interface vermijdt afhankelijkheid van privé-proxywijzigingslisteners die per Android-release verschillen. Hij kiest de routering; proxyreferenties en certificaatvertrouwen gebruiken nog steeds hun ondersteunde mechanismen. Een authenticatie- of TLS-fout na de selectie moet in die fase worden gediagnosticeerd.

Gerelateerde artikelen