Lilọ kiri tí ó sinmi lórí ìyípadà proxy WebView gbọdọ̀ bẹ̀rẹ̀ lẹ́yìn tí olùgbọ́ àṣeyọrí ìyípadà bá ti ṣiṣẹ́. Fífi í kalẹ̀ kí o sì gbé ojú-ìwé wọlé lẹ́sẹ̀kẹsẹ̀ ń fi iṣẹ́ náà ṣeré pẹ̀lú ìmúdójúìwọ̀n aṣínkírọ́nììsì.

  1. Ṣàyẹ̀wò WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE). Àtìlẹ́yìn sinmi lórí ìmúṣẹ WebView àti ilé-ìkàwé AndroidX WebKit àti lórí ìpele API Android. Sọ ohun tí ó ṣẹlẹ̀ nígbà tí kò sí; lílọ tààrà ní ìdákẹ́jẹ́ lè ba ẹ̀yà náà jẹ́.
  2. Kọ́ ProxyConfig tí a fẹ́ pẹ̀lú àwọn òfin proxy tí a kọ sílẹ̀, ìlà ìparí àti ìhùwàsí àfikọjá. Fún lílọ kiri sí àwọn ojú-ìwé gbangba tí a gbà láyè, yan olùdíje kan láti àkójọ proxy ọ̀fẹ́ tí èdè ìbánisọ̀rọ̀ rẹ̀ bá òfin tí ìmúṣẹ WebView yẹn ń ṣe àtìlẹ́yìn fún mu. PAC URL, SOCKS URI àti host òfo jẹ́ àwọn ìwọlé ọ̀tọ̀ọ̀tọ̀.
  3. Pe ProxyController.setProxyOverride() pẹ̀lú ìṣètò yẹn, olùṣiṣẹ́ kan àti olùgbọ́ àṣeyọrí kan. Bẹ̀rẹ̀ lílọ kiri tí ó sinmi láti ọ̀nà àṣeyọrí.
  4. Nígbà tí ìyípadà ìgbà díẹ̀ bá parí, nu ìgbà náà kúrò pẹ̀lú clearProxyOverride() kí o sì tún ṣe ìtọ́jú àṣeyọrí aṣínkírọ́nììsì rẹ̀.

Fún ìgbésí-ayé yẹn ní olùní kan ṣoṣo. Ìṣètò náà kan àwọn WebView jákèjádò ìlànà ohun-èlò náà; yíyí i padà lọ́pọ̀ ìgbà kò lè fún àwọn ìwòye méjì ní àkókò kan ní àwọn ọ̀nà àbájáde olómìnira. Àwọn ìlànà mìíràn àti ilé-ìkàwé HTTP ní àwọn ọ̀nà wọn fúnra wọn.

Ojú-ipò àtìlẹ́yìn yìí yẹra fún gbígbára lé àwọn olùgbọ́ ìyípadà proxy àdáni tí ó yàtọ̀ láàrín àwọn ìtújáde Android. Ó yan ìtọ́sọ́nà; àwọn ẹ̀rí proxy àti ìgbẹ́kẹ̀lé ìwé-ẹ̀rí ṣì ń lo àwọn ọ̀nà àtìlẹ́yìn wọn. Ìkùnà ìjẹ́rìí tàbí TLS lẹ́yìn yíyàn gbọdọ̀ ní ìṣàyẹ̀wò ní ìpele yẹn.

Àwọn àpilẹ̀kọ tó jọra