Android WebView: εφαρμόστε την παράκαμψη μεσολάβησης πριν από την πλοήγηση
Χρησιμοποιήστε τον έλεγχο λειτουργίας και το callback ολοκλήρωσης του AndroidX WebKit και λάβετε υπόψη την παράκαμψη που μοιράζονται τα WebView σε μία διεργασία.
Η πλοήγηση που εξαρτάται από παράκαμψη μεσολάβησης σε WebView πρέπει να ξεκινά αφού εκτελεστεί ο ακροατής ολοκλήρωσης της παράκαμψης. Το να την ορίσετε και να φορτώσετε αμέσως μια σελίδα αφήνει τη λειτουργία να συναγωνίζεται μια ασύγχρονη ενημέρωση.
- Ελέγξτε το
WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE). Η υποστήριξη εξαρτάται από την υλοποίηση WebView και τη βιβλιοθήκη AndroidX WebKit καθώς και από το επίπεδο API του Android. Καθορίστε τι συμβαίνει όταν λείπει· η σιωπηλή απευθείας σύνδεση μπορεί να ακυρώσει τη λειτουργία. - Κατασκευάστε το επιθυμητό
ProxyConfigμε τους τεκμηριωμένους κανόνες μεσολάβησης, τη σύνταξη τελικού σημείου και τη συμπεριφορά παράκαμψης. Για επιτρεπόμενη πλοήγηση σε δημόσιους ιστότοπους, επιλέξτε έναν υποψήφιο από τη λίστα δωρεάν μεσολαβητών του οποίου το πρωτόκολλο ταιριάζει με κανόνα που υποστηρίζει αυτή η υλοποίηση WebView. Ένα PAC URL, ένα SOCKS URI και ένας γυμνός κεντρικός υπολογιστής είναι διαφορετικές είσοδοι. - Καλέστε το
ProxyController.setProxyOverride()με αυτή τη διαμόρφωση, έναν εκτελεστή και έναν ακροατή ολοκλήρωσης. Ξεκινήστε την εξαρτημένη πλοήγηση από τη διαδρομή ολοκλήρωσης. - Όταν τελειώσει η προσωρινή παράκαμψη, εκκαθαρίστε την με το
clearProxyOverride()και χειριστείτε και την ασύγχρονη ολοκλήρωσή της.
Δώστε σε αυτόν τον κύκλο ζωής έναν ιδιοκτήτη. Η ρύθμιση ισχύει για τα WebView σε ολόκληρη τη διεργασία της εφαρμογής· η επανειλημμένη αλλαγή της δεν μπορεί να δώσει σε δύο ταυτόχρονες προβολές ανεξάρτητες εξόδους. Άλλες διεργασίες και βιβλιοθήκες HTTP έχουν τις δικές τους διαδρομές.
Αυτή η υποστηριζόμενη διεπαφή αποφεύγει την εξάρτηση από ιδιωτικούς ακροατές αλλαγής μεσολάβησης που διαφέρουν μεταξύ εκδόσεων Android. Επιλέγει δρομολόγηση· τα διαπιστευτήρια μεσολάβησης και η εμπιστοσύνη πιστοποιητικών εξακολουθούν να χρησιμοποιούν τους υποστηριζόμενους μηχανισμούς τους. Μια αποτυχία ελέγχου ταυτότητας ή TLS μετά την επιλογή πρέπει να διαγνωστεί σε εκείνο το στάδιο.