Android WebView: გამოიყენეთ პროქსის გადაფარვა ნავიგაციამდე
გამოიყენეთ AndroidX WebKit-ის ფუნქციის შემოწმება და დასრულების callback, და გაითვალისწინეთ გადაფარვა, რომელსაც WebView-ები ერთ პროცესში იზიარებენ.
ნავიგაცია, რომელიც დამოკიდებულია WebView-ის პროქსის გადაფარვაზე, უნდა დაიწყოს მას შემდეგ, რაც გადაფარვის დასრულების მსმენელი იმუშავებს. მისი დაყენება და გვერდის დაუყოვნებლივ ჩატვირთვა ოპერაციას ასინქრონულ განახლებასთან რბოლაში ტოვებს.
- შეამოწმეთ
WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE). მხარდაჭერა დამოკიდებულია WebView-ის იმპლემენტაციაზე და AndroidX WebKit ბიბლიოთეკაზე, ასევე Android-ის API დონეზე. განსაზღვრეთ, რა ხდება მისი არქონისას; ჩუმად პირდაპირ გადასვლამ შეიძლება ფუნქცია გააუქმოს. - ააგეთ სასურველი
ProxyConfigმისი დოკუმენტირებული პროქსის წესებით, ბოლო წერტილის სინტაქსით და გვერდის ავლის ქცევით. დაშვებული საჯარო საიტების ნავიგაციისთვის აირჩიეთ კანდიდატი უფასო პროქსების სიიდან, რომლის პროტოკოლი ემთხვევა იმ წესს, რომელსაც ეს WebView-ის იმპლემენტაცია მხარს უჭერს. PAC URL, SOCKS URI და შიშველი ჰოსტი სხვადასხვა შეყვანაა. - გამოიძახეთ
ProxyController.setProxyOverride()ამ კონფიგურაციით, შემსრულებლით და დასრულების მსმენელით. დამოკიდებული ნავიგაცია დაიწყეთ დასრულების გზიდან. - როცა დროებითი გადაფარვა დასრულდება, გაასუფთავეთ იგი
clearProxyOverride()-ით და მოამუშავეთ მისი ასინქრონული დასრულებაც.
მიეცით ამ სასიცოცხლო ციკლს ერთი მფლობელი. პარამეტრი ვრცელდება აპლიკაციის პროცესის ყველა WebView-ზე; განმეორებითი შეცვლა ვერ მისცემს ორ ერთდროულ ხედს დამოუკიდებელ გასასვლელებს. სხვა პროცესებს და HTTP ბიბლიოთეკებს საკუთარი მარშრუტები აქვთ.
ეს მხარდაჭერილი ინტერფეისი თავს არიდებს Android-ის გამოშვებებს შორის განსხვავებულ კერძო პროქსის ცვლილების მსმენელებზე დამოკიდებულებას. ის ირჩევს მარშრუტიზაციას; პროქსის სერთიფიკატები და სერტიფიკატების ნდობა კვლავ თავიანთ მხარდაჭერილ მექანიზმებს იყენებს. არჩევის შემდეგ ავთენტიფიკაციის ან TLS-ის წარუმატებლობა ამ ეტაპზე უნდა დიაგნოსტირდეს.