Webkit
Najnowsza aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
2 lipca 2025 r. | 1.14.0 | - | - | 1.15.0-alpha01 |
Deklarowanie zależności
Aby dodać zależność od WebKit, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Maven Google.
Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle
aplikacji lub modułu:
Odlotowe
dependencies { implementation "androidx.webkit:webkit:1.14.0" }
Kotlin
dependencies { implementation("androidx.webkit:webkit:1.14.0") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nową kartę, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.15
Wersja 1.15.0-alpha01
2 lipca 2025 r.
Zostanie wycofaneandroidx.webkit:webkit:1.15.0-alpha01
Wersja 1.15.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Nowy interfejs API do ustawiania par nazwa-wartość nagłówka HTTP w żądaniach kierowanych do określonych źródeł.
MetodaProfile.setOriginMatchedHeader
umożliwia aplikacji określenie, że nazwa i wartość nagłówka powinny być ustawiane we wszystkich żądaniach HTTP/HTTPS kierowanych do źródeł zgodnych z podaną listą dozwolonych, gdy są wysyłane z elementów WebView i procesów roboczych usługi, które używają danego profilu. Interfejs API umożliwia tylko jedno mapowanie dla każdej nazwy nagłówka i zgłasza wyjątek, jeśli nazwa nagłówka jest już ustawiona.
UżyjProfile.clearOriginMatchedHeader
, aby usunąć istniejące mapowanie, aProfile.clearAllOriginMatchedHeaders
, aby usunąć wszystkie mapowania. (Ida7f1, b/419469873) - Nowy interfejs API umożliwiający dostęp do plików cookie i ich ustawianie w ramach
shouldInterceptRequest
wywołań zwrotnych w przypadku komponentu WebView i procesów Service Worker.
Deweloperzy aplikacji, którzy obecnie mają dostęp do interfejsuCookieManager
API w ramachshouldInterceptRequest
, mogą teraz włączać nagłówki plików cookie bezpośrednio, wywołującsetIncludeCookiesOnShouldInterceptRequest
. Spowoduje to dodanie przez WebView nagłówkaCookie
do mapy WebResourceRequest.getRequestHeaders(), który będzie zawierać dokładne pliki cookie mające zastosowanie do żądania. Prawidłowo obsługuje też oddzielone pliki cookie.
Aplikacje mogą podawać wartości nagłówkaSet-Cookie
za pomocą nowo dodanego interfejsuWebResourceResponseCompat.setCookies
API. WartościSet-Cookie
dodane w tym miejscu będą przetwarzane przez WebView w ramach obsługi odpowiedzi. (Idbfd1, b/414769380) - Nowy eksperymentalny interfejs API do rozgrzewania procesu renderowania dla
Profile
.
Ten interfejs API może być używany przez aplikacje ze złożonym cyklem życia komponentu WebView, aby zapewnić działanie procesu renderowania, nawet jeśli wszystkie instancje WebView zostały zniszczone. (Ia8fc8)
Zmiany w interfejsie API
- Dodaj nową metodę do eksperymentalnego interfejsu Nawigacja, aby podać adres URL nawigacji. (I1c6c0)
- Zaktualizowaliśmy nazwę funkcji wstępnego pobierania profilu, aby wyjaśnić, że interfejs API wstępnego pobierania można teraz wywoływać w wątku w tle. (I7c83a)
Wersja 1.14
Wersja 1.14.0
4 czerwca 2025 r.
Zostanie wycofaneandroidx.webkit:webkit:1.14.0
Wersja 1.14.0 zawiera te zmiany.
Ważne zmiany od wersji 1.13.0
- Wprowadzamy interfejs API
PaymentRequest
do wywoływania natywnych aplikacji płatniczych na Androida za pomocą intencjiorg.chromium.intent.action.PAY
.PaymentRequest
jest domyślnie wyłączona, aWebView
aplikacje hosta mogą wywołać WebSettingsCompat.setPaymentRequestEnabled(settings, true), aby ją włączyć. DodatkowoPaymentRequest
wymaga tagu<queries>
w sekcjiAndroidManifest.xml
. Więcej informacji znajdziesz w dokumentacjisetPaymentRequestEnabled()
. - Wprowadzamy eksperymentalny interfejs Navigation API, który umożliwia ulepszone śledzenie nawigacji w internecie i zarządzanie nią w
WebView
. Te interfejsy API dostarczają szczegółowe informacje o zdarzeniach nawigacji. Zacznij od wywołania funkcji WebViewCompat.setNavigationClient z implementacją nowego interfejsu WebNaviagationClient, aby uzyskać szczegółowe informacje o nawigacji po stronie. Więcej informacji o cyklu życia nawigacji znajdziesz w artykule Life of a Navigation Presentation (w języku angielskim).
Wersja 1.14.0-rc01
20 maja 2025 r.
Zostanie wycofaneandroidx.webkit:webkit:1.14.0-rc01
Wersja 1.14.0-rc01 zawiera te zmiany.
- Nie ma zmian w stosunku do
1.14.0-beta01
.
Wersja 1.14.0-beta01
7 maja 2025 r.
Zostanie wycofaneandroidx.webkit:webkit:1.14.0-beta01
Wersja 1.14.0-beta01 zawiera te zmiany.
Zmiany w interfejsie API
- Dodawanie kontekstu jako parametru do interfejsu
startUpWebView()
API (Ic29cd, b/406701301)
Wersja 1.14.0-alpha01
9 kwietnia 2025 r.
Zostanie wycofaneandroidx.webkit:webkit:1.14.0-alpha01
Wersja 1.14.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Wprowadzamy interfejs API
PaymentRequest
do wywoływania natywnych aplikacji płatniczych na Androida za pomocą intencjiorg.chromium.intent.action.PAY
.PaymentRequest
jest domyślnie wyłączona, a aplikacje hosta WebView mogą wywoływaćWebSettingsCompat.setPaymentRequestEnabled(settings, true)
, aby ją włączyć. DodatkowoPaymentRequest
wymaga tagu<queries>
w sekcjiAndroidManifest.xml
. Więcej informacji znajdziesz w dokumentacjisetPaymentRequestEnabled()
. (I3304e, b/404920055) - Wprowadzamy wywołania zwrotne nawigacji eksperymentalnej. Ta wersja wprowadza eksperymentalne interfejsy API do ulepszonego śledzenia i zarządzania nawigacją w internecie w
WebView
. Te interfejsy API dostarczają szczegółowe informacje o zdarzeniach nawigacji. Najważniejsze funkcje:WebNavigationClient
Interfejs: wprowadza nowy interfejsWebNavigationClient
z wywołaniami zwrotnymi dla zdarzeń nawigacji:onNavigationStarted(Navigation navigation)
: powiadamia o rozpoczęciu nawigacji.onNavigationRedirected(Navigation navigation)
: powiadamia o przekierowaniu nawigacji.onNavigationCompleted(Navigation navigation)
: powiadamia o zakończeniu nawigacji.Navigation
Interfejs: zawiera szczegółowe informacje o nawigacji, w tym: adres URL, stan inicjowania strony, stan tego samego dokumentu, stan ponownego wczytania, stan historii, stan wstecz/dalej, stan zatwierdzenia, stan strony błędu, kod stanu i stan przywracania sesji. ObiektNavigation
służy jako unikalny identyfikator każdej nawigacji, co umożliwia deweloperom korelowanie powiązanych zdarzeń nawigacji.Page
class: wprowadza klasęPage
, która służy jako klucz do danych powiązanych ze stroną. (I351a6)
- Wprowadzamy nowy eksperymentalny interfejs API, który umożliwia przełączanie działania obiektów dostawcy pamięci podręcznej. (I14636)
Zmiany w interfejsie API
- Zaktualizowaliśmy wartość funkcji
PROFILE_URL_PREFETCH
w plikuWebViewFeature
. (I606fd) - Dodaje
WebViewCompat#saveState
, podobnie jakWebView#saveState
, ale umożliwia ograniczenie rozmiaru zwracanego stanu i określenie, czy zapisywać wpisy w historii do przodu. (Iea7d6) - Dodawanie konfiguracji
maxPrerenders
do interfejsuSpeculativeLoadingConfig
API (I67245)
Wersja 1.13
Wersja 1.13.0
12 marca 2025 r.
Zostanie wycofaneandroidx.webkit:webkit:1.13.0
Wersja 1.13.0 zawiera te zmiany.
Ważne zmiany od wersji 1.12.0
- Wprowadzenie nowego eksperymentalnego interfejsu API do wstępnego renderowania adresów URL, który umożliwi programistom spekulacyjne wstępne renderowanie adresów URL kandydatów, co przyspieszy nawigację. (I0cfe7)
- Wprowadzamy zestaw nowych interfejsów API do usuwania danych przeglądania przechowywanych przez
WebView
. Nowe interfejsy API wWebStorageCompat
są preferowane w stosunku do dotychczasowych interfejsów API wandroid.webkit.WebStorage
, ponieważ gwarantują usunięcie wszystkich danych z pamięci lokalnej, w tym pamięci podręcznej sieci i plików cookie, a także zainstalowanych service workerów. Jeśli w przyszłości zostaną wprowadzone nowe interfejsy API pamięci, te nowe metody zostaną zaktualizowane, aby uwzględniać je w usuwanej pamięci. (Iad54f, b/382273208) - Dodaj interfejs
setPartitionedCookiesEnabled
API. Umożliwi to programistom włączanie i wyłączanie plików cookie z podziałem na partycje wWebView
. (Ic506a, b/364904765) - Dodaj interfejs API tagowania gniazd do
WebView
, aby rozliczać ruch sieciowyWebView
za pomocąNetworkStatsManager
/TrafficStats
. Ta funkcja będzie dostępna tylko wWebView
M133. (Ica441, b/374932688) - Dodano eksperymentalny interfejs API
WebView
do asynchronicznego uruchamiania. (I94b8a) - Wstępne pobieranie adresów URL w profilu: w
Profile
wprowadziliśmy nowy interfejs API, który umożliwia programistom wywoływanie wstępnego pobierania adresów URL. Czyszczenie pobierania z wyprzedzeniem: dodano interfejs API do czyszczenia trwających pobrań z wyprzedzeniem.(I42c5c) - Wycofaj:
WebView.startSafeBrowsing
. (If5626)
Wersja 1.13.0-rc01
26 lutego 2025 r.
Zostanie wycofaneandroidx.webkit:webkit:1.13.0-rc01
Ta wersja nie zawiera żadnych zmian w porównaniu z wersją 1.13.0-beta01
.
Wersja 1.13.0-beta01
12 lutego 2025 r.
Zostanie wycofaneandroidx.webkit:webkit:1.13.0-beta01
Wersja 1.13.0-beta01 zawiera te zmiany.
Zmiany w interfejsie API
- Dodano sufiks Async do interfejsu API prerender. Zmień nazwę dowolnego elementu Data na Header w
NoVarySearch
, aby odzwierciedlała nową nazwę. (Ie91c9) - Dodaj parametr wykonawcy do interfejsu API wstępnego renderowania adresu URL. Ogranicz też możliwość wywoływania interfejsu API tylko z wątku interfejsu. (I50520)
- Dodaj interfejs API, aby skonfigurować konfigurację pamięci podręcznej dla żądań wstępnego pobierania profilu. Dotyczy to też żądań wstępnego renderowania zainicjowanych z
WebViews
powiązanych z tym profilem. (Iebb6e)
Poprawki błędów
- Zmieniono działanie znaku
URLUtilCompat.guessFileName
, aby używać tylko parametrumimeType
do sugerowania rozszerzenia nazw plików pochodzących z parametru adresu URL. (I53ecd, b/382864232)
Wersja 1.13.0-alpha03
15 stycznia 2025 r.
Zostanie wycofaneandroidx.webkit:webkit:1.13.0-alpha03
Wersja 1.13.0-alpha03 zawiera te zmiany.
Nowe funkcje
- Wprowadzenie nowego eksperymentalnego interfejsu API do wstępnego renderowania adresów URL, który umożliwi programistom spekulacyjne wstępne renderowanie adresów URL kandydatów, co przyspieszy nawigację. (I0cfe7)
- Wprowadzamy zestaw nowych interfejsów API do usuwania danych przeglądania przechowywanych przez
WebView
. Nowe interfejsy API wWebStorageCompat
są preferowane w stosunku do dotychczasowych interfejsów API wandroid.webkit.WebStorage
, ponieważ gwarantują usunięcie wszystkich danych z pamięci lokalnej, w tym pamięci podręcznej sieci i plików cookie, a także zainstalowanych service workerów. Jeśli w przyszłości zostaną wprowadzone nowe interfejsy API pamięci, te nowe metody zostaną zaktualizowane, aby uwzględniać je w usuwanej pamięci. (Iad54f, b/382273208) - Dodaj interfejs
setPartitionedCookiesEnabled
API. Umożliwi to programistom włączanie i wyłączanie plików cookie z podziałem na partycje wWebView
. (Ic506a, b/364904765)
Zmiany w interfejsie API
- Zmiana wymagania dotyczącego wątku w przypadku interfejsu Prefetch API, aby można go było wywoływać tylko w wątku interfejsu. (I866b5)
- Zaktualizuj metody
WebAuthn
, aby podkreślić, że muszą być wywoływane w wątku interfejsu. Ten wymóg jest już egzekwowany przez implementację, a ta zmiana dodaje tylko odpowiednią adnotację. (I6d6ba)
Wersja 1.13.0-alpha02
11 grudnia 2024 r.
Zostanie wycofaneandroidx.webkit:webkit:1.13.0-alpha02
Wersja 1.13.0-alpha02 zawiera te zmiany.
Nowe funkcje
- Dodaj interfejs API tagowania gniazd do
WebView
, aby rozliczać ruch sieciowyWebView
za pomocąNetworkStatsManager
/TrafficStats
. Ta funkcja będzie dostępna tylko wWebView
M133. (Ica441, b/374932688)
Zmiany w interfejsie API
- Aktualizacja interfejsu Prefetch API przez zmianę nazwy
PrefetchParameter
naSpeculativeLoadingParamaters
, wprowadzenie nowego parametruPrefetchNetworkException
, zastąpienie parametruPrefetchOperationCallback
parametremOutcomeReceiverCompat
i zaktualizowanie dokumentacji Javadoc. (If5072) - Uzyskiwanie informacji diagnostycznych z interfejsu API do asynchronicznego uruchamiania WebView.
- Zapewnij aplikacjom możliwość wywoływania tylko inicjowania, które nie blokuje wątku interfejsu. (I9bf2b)
Poprawki błędów
- Ta biblioteka używa teraz adnotacji o wartości null JSpecify, które są używane w typach. Deweloperzy korzystający z języka Kotlin powinni używać tego argumentu kompilatora, aby wymusić prawidłowe użycie:
-Xjspecify-annotations=strict
(jest to domyślne ustawienie od wersji 2.1.0 kompilatora Kotlin). (I0e4c5, b/326456246)
Wersja 1.13.0-alpha01
13 listopada 2024 r.
Zostanie wycofaneandroidx.webkit:webkit:1.13.0-alpha01
Wersja 1.13.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Dodano eksperymentalny interfejs API
WebView
do asynchronicznego uruchamiania. (I94b8a) - Wstępne pobieranie adresów URL w profilu: wprowadziliśmy w profilu nowy interfejs API, który umożliwia programistom wywoływanie wstępnego pobierania adresów URL. Wstępne pobieranie: dodano interfejs API do czyszczenia trwających wstępnych pobrań. (I42c5c)
Zmiany w interfejsie API
- Wycofaj:
WebView.startSafeBrowsing
. (If5626)
Wersja 1.12
Wersja 1.12.1
2 października 2024 r.
Zostanie wycofaneandroidx.webkit:webkit:1.12.1
Wersja 1.12.1 zawiera te zmiany.
Poprawki błędów
- Rozwiązaliśmy problem, który uniemożliwiał udostępnienie interfejsów API w wersji 1.12.0.
Wersja 1.12.0
18 września 2024 r.
Zostanie wycofaneandroidx.webkit:webkit:1.12.0
Wersja 1.12.0 zawiera te zmiany.
Ważne zmiany od wersji 1.11.0
- Dodaj nowy interfejs API do
WebSettingsCompat
, aby włączyć lub wyłączyć BackForwardCache dla tegoWebSettings
. Ten interfejs API jest w wersji eksperymentalnej i w przyszłości może ulec zmianie. (aosp/3111705) - Dodano nowy interfejs API do
WebSettingsCompat
, aby kontrolować działanie spekulacyjnego wczytywania w przypadku tegoWebSettings
. Obecnie dostępna jest tylko opcja Wstępne renderowanie. Ten interfejs API jest w wersji eksperymentalnej i w przyszłości może ulec zmianie. (I13962) - Dodano nowy interfejs API, który umożliwia uwierzytelnianie w internecie w
WebView
. Deweloperzy mogą włączać i wyłączać wywołaniaWebAuthn
wWebView
w swoich aplikacjach za pomocąWebSettingsCompat#setWebAuthenticationSupport
. (I8187f)
Wersja 1.12.0-rc01
4 września 2024 r.
Zostanie wycofaneandroidx.webkit:webkit:1.12.0-rc01
Ta wersja nie zawiera zmian w porównaniu z wersją 1.12.0-beta01
.
Wersja 1.12.0-beta01
21 sierpnia 2024 r.
Zostanie wycofaneandroidx.webkit:webkit:1.12.0-beta01
Wersja 1.12.0-beta01 zawiera te zmiany.
Poprawki błędów
- Usunęliśmy ręczne określanie dostępu do nowych interfejsów API platformy, ponieważ odbywa się to automatycznie za pomocą modelowania interfejsu API podczas korzystania z R8 z AGP 7.3 lub nowszym (np. R8 w wersji 3.3) oraz w przypadku wszystkich kompilacji podczas korzystania z AGP 8.1 lub nowszego (np. D8 w wersji 8.1). Klienci, którzy nie korzystają z AGP, powinni zaktualizować D8 do wersji 8.1 lub nowszej. Więcej szczegółów znajdziesz w tym artykule. (Ia60e0, b/345472586)
Wersja 1.12.0-alpha02
12 czerwca 2024 r.
Zostanie wycofaneandroidx.webkit:webkit:1.12.0-alpha02
Wersja 1.12.0-alpha02 zawiera te commity.
Nowe funkcje
- Dodaj nowy interfejs API do
WebSettingsCompat
, aby włączyć lub wyłączyćBackForwardCache
. Ten interfejs API jest w wersji eksperymentalnej i w przyszłości może ulec zmianie. (I64a38) - Dodano nowy interfejs API do
WebSettingsCompat
, który umożliwia kontrolowanie działania spekulacyjnego wczytywania w przypadku tych ustawień internetowych. Obecnie dostępna jest tylko opcja Wstępne renderowanie. Ten interfejs API jest w wersji eksperymentalnej i w przyszłości może ulec zmianie. (I13962)
Zmiany w interfejsie API
- Niektóre metody są teraz w stosownych przypadkach dokumentowane za pomocą symbolu
@UiThread
. (I6c7e0), (I44541) - Metody bezpieczne wątkowo są teraz oznaczone symbolem
@AnyThread
. (I70189) - Zwiększono wartość
minSdkVersion
z 19 do 21. (Id7a43)
Wersja 1.12.0-alpha01
17 kwietnia 2024 r.
Zostanie wycofaneandroidx.webkit:webkit:1.12.0-alpha01
Wersja 1.12.0-alpha01 zawiera te zmiany.
Zmiany w interfejsie API
- Dodano nowy interfejs API, który umożliwia uwierzytelnianie w internecie w
WebView. Developers
. Użytkownicy mogą włączać i wyłączać wywołaniaWebAuthn
wWebView
w swoich aplikacjach za pomocąWebSettingsCompat#setWebAuthenticationSupport
. (I8187f)
Wersja 1.11
Wersja 1.11.0
1 maja 2024 r.
Zostanie wycofaneandroidx.webkit:webkit:1.11.0
Wersja 1.11.0 zawiera te zmiany.
Ważne zmiany od wersji 1.10.0
- Umożliwia aplikacjom sterowanie odtwarzaniem dźwięku w
WebView
za pomocą nowych interfejsów APIsetAudioMuted
iisAudioMuted
, które działają analogicznie do wyciszania karty w Chrome. - Wprowadzono
URLUtilCompat
, który obsługuje analizowanie nagłówkówContent-Disposition
używających atrybutu wartości zakodowanejfilename*
zgodnie z normą RFC 6266. Interfejs Compatibility API udostępnia też bezpośrednio metodę analizowania nagłówkaContent-Disposition
, gdy sugerowana nazwa pliku na podstawie adresu URL i typu MIME nie jest pożądana.
Wersja 1.11.0-rc01
3 kwietnia 2024 r.
Zostanie wycofaneandroidx.webkit:webkit:1.11.0-rc01
Ta wersja nie zawiera zmian w porównaniu z wersją 1.11.0-beta01
.
Wersja 1.11.0-beta01
20 marca 2024 r.
androidx.webkit:webkit:1.11.0-beta01
została wydana bez znaczących zmian. Wersja 1.11.0-beta01 zawiera te zmiany.
Wersja 1.11.0-alpha02
21 lutego 2024 r.
Zostanie wycofaneandroidx.webkit:webkit:1.11.0-alpha02
Wersja 1.11.0-alpha02 zawiera te zmiany.
Nowe funkcje
- Dodaj metody
setAudioMuted
iisAudioMuted
do wyciszania (i wyłączania wyciszenia)WebViews
. Ta metoda pozwala zapobiec odtwarzaniu dźwięku przezWebView
. (Ie7a33)
Zmiany w interfejsie API
URLUtilCompat
jest oznaczona jako finalna, ponieważ nie powinna być podklasą. (I49ec1)
Wersja 1.11.0-alpha01
7 lutego 2024 r.
Zostanie wycofaneandroidx.webkit:webkit:1.11.0-alpha01
Wersja 1.11.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Dodaj zgodność z
URLUtil.guessFileName
. Wersja zgodności wURLUtilCompat
obsługuje analizowanie nagłówkówContent-Disposition
, które używają atrybutu zakodowanej wartościfilename*
zgodnie z definicją w RFC 6266. Interfejs Compatibility API udostępnia też bezpośrednio metodę analizowania nagłówkaContent-Disposition
, gdy sugerowana nazwa pliku na podstawie adresu URL i typu MIME nie jest pożądana. (If6ae7, b/309927164)
Wersja 1.10
Wersja 1.10.0
24 stycznia 2024 r.
Zostanie wycofaneandroidx.webkit:webkit:1.10.0
Wersja 1.10.0 zawiera te zmiany.
Ważne zmiany od wersji 1.9.0
- Dodaliśmy nowy interfejs API do WebSettingsCompat, aby kontrolować eksperymentalny interfejs Android WebView Media Integrity API. Możesz całkowicie wyłączyć ten interfejs API lub ograniczyć udostępnianie tożsamości aplikacji w odpowiedzi interfejsu API. Możesz włączyć lub wyłączyć tę opcję dla wszystkich źródeł lub dla poszczególnych źródeł.
Wersja 1.10.0-rc01
10 stycznia 2024 r.
Zostanie wycofaneandroidx.webkit:webkit:1.10.0-rc01
Ta wersja nie zawiera zmian w porównaniu z wersją 1.10.0-beta01
.
Wersja 1.10.0-beta01
13 grudnia 2023 r.
Zostanie wycofaneandroidx.webkit:webkit:1.10.0-beta01
Wersja 1.10.0-beta01 zawiera te zmiany.
- Brak zmian w funkcjonalności od
1.10.0-alpha01
.
Wersja 1.10.0-alpha01
29 listopada 2023 r.
Zostanie wycofaneandroidx.webkit:webkit:1.10.0-alpha01
Wersja 1.10.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy nowy interfejs API do
WebSettingsCompat
, aby kontrolować eksperymentalny interfejs Android WebView Media Integrity API. Możesz całkowicie wyłączyć ten interfejs API lub ograniczyć udostępnianie tożsamości aplikacji w odpowiedzi interfejsu API. Możesz włączyć lub wyłączyć tę opcję dla wszystkich źródeł lub dla poszczególnych źródeł.
Wersja 1.9
Wersja 1.9.0
29 listopada 2023 r.
Zostanie wycofaneandroidx.webkit:webkit:1.9.0
Wersja 1.9.0 zawiera te zmiany.
Ważne zmiany od wersji 1.8.0
- Dodaliśmy nowy interfejs API obsługujący wiele profili w komponentach WebView.
- Interfejs Profile ma różne interfejsy API, których można używać do pobierania powiązanych z nim danych, takich jak nazwa, GeoLocationPermissions, ServiceWorkerController, CookieManager i WebStorage. Te obiekty są specyficzne dla profilu, a informacje nie są udostępniane między różnymi profilami w aplikacji.
- Profil używany przez instancję
WebView
można zmienić za pomocą metody WebViewCompat#setProfile i pobrać za pomocą metody WebViewCompat#getProfile. - Nowo wprowadzony interfejs ProfileStore umożliwia zarządzanie dostępnymi profilami w aplikacji, w tym profilem domyślnym.
- Dotychczasowe interfejsy WebView API, takie jak CookieManager#getInstance, będą nadal działać w profilu domyślnym.
- Dodano interfejs API do wstrzykiwania i uruchamiania kodu JavaScript przed wczytaniem strony.
- Interfejs WebViewCompat#addDocumentStartJavascript API umożliwia aplikacjom wstrzykiwanie skryptów do elementu
WebView
, które na pewno zostaną uruchomione przed wykonaniem jakichkolwiek skryptów na stronie. Interfejs API umożliwia aplikacji określenie docelowej listy źródeł, w których ma być włączony skrypt, dzięki czemu działa on tylko na odpowiednich stronach. W przeciwieństwie do metody WebView#evaluateJavascript ten interfejs API umożliwia wykonywanie skryptów w osadzonych elementach iframe po ich wczytaniu. Aplikacje mogą używać tego nowego interfejsu API w połączeniu z interfejsem WebViewCompat#addWebMessageListener, aby w niezawodny sposób skonfigurować dwukierunkową komunikację z kodem JavaScript na stronie.
- Interfejs WebViewCompat#addDocumentStartJavascript API umożliwia aplikacjom wstrzykiwanie skryptów do elementu
- Dodano interfejsy API, które umożliwiają modyfikowanie sposobu rejestrowania zdarzeń raportowania atrybucji w Piaskownicy prywatności.
- Wprowadziliśmy nowy interfejs API WebSettingsCompat#setAttributionRegistrationBehavior, który umożliwia deweloperom skonfigurowanie, czy źródła i zdarzenia wywołujące atrybucję są rejestrowane jako pochodzące z samej aplikacji, czy z treści internetowych w widoku WebView. Tej metody można też użyć do wyłączenia raportowania atrybucji w WebView. Dodaliśmy też nowy interfejs API
WebSettingsCompat#getAttributionRegistrationBehavior
, który umożliwia uzyskanie bieżącego sposobu działania. - Więcej informacji znajdziesz w dokumentacji Piaskownicy prywatności.
- Wprowadziliśmy nowy interfejs API WebSettingsCompat#setAttributionRegistrationBehavior, który umożliwia deweloperom skonfigurowanie, czy źródła i zdarzenia wywołujące atrybucję są rejestrowane jako pochodzące z samej aplikacji, czy z treści internetowych w widoku WebView. Tej metody można też użyć do wyłączenia raportowania atrybucji w WebView. Dodaliśmy też nowy interfejs API
- Dodano interfejsy API do zastępowania metadanych klienta użytkownika w przypadku wskazówek dotyczących klienta.
- Wprowadziliśmy nowy interfejs API WebSettingsCompat#setUserAgentMetadata, który umożliwia zastępowanie metadanych agenta użytkownika w WebView używanych do wypełniania wskazówek klienta agenta użytkownika. Dodaliśmy też kolejny nowy interfejs API WebSettingsCompat#getUserAgentMetadata, który pozwala pobierać bieżące zastąpienia agenta użytkownika. Zachęcamy aplikacje do korzystania z nowego interfejsu API, aby ustawiać odpowiednie wartości zastąpienia za każdym razem, gdy aplikacja zmienia domyślny ciąg tekstowy agenta użytkownika za pomocą funkcji WebSettings.setUserAgentString. Dzięki temu w każdej sytuacji będą używane prawidłowe wartości.
Wersja 1.9.0-rc01
15 listopada 2023 r.
Zostanie wycofaneandroidx.webkit:webkit:1.9.0-rc01
Ta wersja nie zawiera zmian w porównaniu z wersją 1.9.0-beta01
.
Wersja 1.9.0-beta01
1 listopada 2023 roku
Zostanie wycofaneandroidx.webkit:webkit:1.9.0-beta01
Wersja 1.9.0-beta01 zawiera te zmiany.
Zmiany w interfejsie API
- Rozwiązanie problemu z wartościami null w interfejsie User-Agent Metadata API. Aktualizujemy klasę
BrandVersion
, aby używała wzorca konstruktora, i zapewniamy spójność wartości null w metodach pobierających i ustawiających klasyUserAgentMetadata
. (Ibf195) - Dodawanie adnotacji do
ProfileStore
,WebViewCompat#setProfile
iWebViewCompat.getProfile
za pomocą@UiThread
. (I499b2)
Wersja 1.9.0-alpha01
18 października 2023 r.
Zostanie wycofaneandroidx.webkit:webkit:1.9.0-alpha01
Wersja 1.9.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Dodaliśmy interfejs API wielu profili, który umożliwia prowadzenie oddzielnych sesji przeglądania w
WebViews
.Każdy profil ma własne dane (np. pliki cookie). Możesz tworzyć profile, przypisywać je do instancjiWebView
i później pobierać w celu uzyskania dostępu do danych. Klasa singletonProfileStore
pomaga zarządzać profilami przez tworzenie lub usuwanie za pomocą interfejsów API:getOrCreateProfile
,getProfile
,getAllProfileNames
ideleteProfile
. KlasaProfile
będzie miała różne interfejsy API, za pomocą których można pobierać powiązane z tym profilem dane, takie jak nazwa,GeoLocationPermissions
,ServiceWorkerController
,CookieManager
iWebStorage
. KażdyWebView
będzie domyślnie działać z profilem domyślnym, ale możesz to zmienić za pomocąWebViewCompat#setProfile
. ProfilWebView
można pobrać za pomocąWebViewCompat#getProfile
. (I32d22) - Dodaj interfejsy API, aby modyfikować sposób rejestrowania zdarzeń interfejsu Attribution Reporting API. Wprowadziliśmy nowy interfejs API
WebSettingsCompat#setAttributionRegistrationBehavior
, który umożliwia deweloperom konfigurowanie, czy źródła i reguły są rejestrowane jako pochodzące z samej aplikacji, czy z treści internetowych wWebView
. Tej metody można też użyć, aby wyłączyć raportowanie atrybucji w usłudzeWebView
. Dodaliśmy też nowy interfejs APIWebSettingsCompat#getAttributionRegistrationBehavior
, który umożliwia uzyskanie bieżącego sposobu działania. Więcej informacji znajdziesz w dokumentacji Piaskownicy prywatności. (I661f2) - Dodaj interfejsy API, aby zastąpić metadane klienta użytkownika. Wprowadziliśmy nowy interfejs API
WebSettingsCompat#setUserAgentMetadata
, który umożliwia zastępowanie metadanych agenta użytkownika w komponencie WebView, który jest używany do wypełniania wskazówek klienta agenta użytkownika. Dodaliśmy też kolejny nowy interfejs APIWebSettingsCompat#getUserAgentMetadata
, który umożliwia uzyskiwanie bieżących zastąpień agenta użytkownika. Zachęcamy aplikacje do korzystania z nowego interfejsu API, aby ustawiać odpowiednie wartości zastępowania, zamiast polegać na zmianie ciągu User-Agent. (I74500) - Dodaj interfejs API do wstrzykiwania kodu JavaScript, który będzie uruchamiany podczas wczytywania strony. Interfejs
WebViewCompat.addDocumentStartJavascript
API umożliwia aplikacjom wstrzykiwanie skryptów do komponentu WebView, które będą wykonywane przed skryptami strony. Interfejs API umożliwia aplikacji określenie docelowej listy źródeł, w których ma być włączony skrypt, dzięki czemu działa on tylko na odpowiednich stronach. W przeciwieństwie do interfejsuWebView.evaluateJavascript
ten interfejs API umożliwia wykonywanie skryptów w osadzonych elementach iframe po ich wczytaniu. (Ide063)
Wersja 1.8
Wersja 1.8.0
6 września 2023 r.
Zostanie wycofaneandroidx.webkit:webkit:1.8.0
Wersja 1.8.0 zawiera te zmiany.
Ważne zmiany od wersji 1.7.0
- Dodaj obsługę przekazywania
ArrayBuffer
przezWebMessagePortCompat#postMessage
,JavaScriptReplyProxy#postMessage
iWebViewCompat#postWebMessage
, odbieraniaArrayBuffer
z JavaScriptu przezWebMessagePortCompat
iWebMessageListener
oraz odbierania przenośnychArrayBuffer
z JavaScriptu przezWebMessagePortCompat
. (aosp/2596550, b/251152171)
Wersja 1.8.0-rc01
9 sierpnia 2023 r.
androidx.webkit:webkit:1.8.0-rc01
zostaje opublikowany bez zmian od 1.8.0-beta01
. Wersja 1.8.0-rc01 zawiera te zmiany.
Wersja 1.8.0-beta01
26 lipca 2023 r.
androidx.webkit:webkit:1.8.0-beta01
zostaje opublikowany bez zmian od 1.8.0-alpha01
. Wersja 1.8.0-beta01 zawiera te zmiany.
Wersja 1.8.0-alpha01
7 czerwca 2023 r.
Zostanie wycofaneandroidx.webkit:webkit:1.8.0-alpha01
Wersja 1.8.0-alpha01 zawiera te zmiany.
Zmiany w interfejsie API
- Zapoznaj się z sekcją Wkład zewnętrzny.
Wkład zewnętrzny
- Dodaj obsługę przekazywania
ArrayBuffer
przezWebMessagePortCompat#postMessage
,JsReplyProxy#postMessage
iWebViewCompat#postWebMessage
, odbieraniaArrayBuffer
z JavaScriptu przezWebMessagePortCompat
iWebMessageListener
oraz odbierania przenośnychArrayBuffer
z JavaScriptu przezWebMessagePortCompat
. Pamiętaj, że ten interfejs API będzie dostępny tylko wWebView
w wersji 116. (Ie7567, b/251152171)
Wersja 1.7
Wersja 1.7.0
24 maja 2023 r.
Zostanie wycofaneandroidx.webkit:webkit:1.7.0
Wersja 1.7.0 zawiera te zmiany.
Ważne zmiany od wersji 1.6.0
- Dodaliśmy obsługę przeciągania obrazów w
WebView
. Możesz umożliwić użytkownikom przeciąganie obrazów zWebView
, dodając nowy elementDropDataContentProvider
do pliku manifestu aplikacji zgodnie z opisem w dokumentacji klasy. - Dodaliśmy interfejs
ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File)
API, który umożliwia ustawianie katalogów podstawowych, z którychWebView
będzie korzystać w bieżącym procesie. Podobnie jak w przypadku wszystkich metod wProcessGlobalConfig
, tę metodę należy wywołać przed utworzeniem pierwszej instancjiWebView
. Ta metoda została dodana, aby umożliwić platformie Android dostosowywanie ustawieńWebView
. W przypadku aplikacji ogólnego przeznaczenia nie zalecamy korzystania z tej metody.
Wersja 1.7.0-rc01
10 maja 2023 r.
androidx.webkit:webkit:1.7.0-rc01
zostaje opublikowany bez zmian od 1.7.0-beta01
. Wersja 1.7.0-rc01 zawiera te zmiany.
Wersja 1.7.0-beta01
5 kwietnia 2023 r.
Zostanie wycofaneandroidx.webkit:webkit:1.7.0-beta01
Wersja 1.7.0-beta01 zawiera te zmiany.
Zmiany w interfejsie API
- Drobna zmiana flagi funkcji i nazwy metody oraz zmiana typu argumentu funkcji
setDirectoryBasePaths()
z String na File (Ib0d0a)
Wersja 1.7.0-alpha03
8 marca 2023 r.
Zostanie wycofaneandroidx.webkit:webkit:1.7.0-alpha03
Wersja 1.7.0-alpha03 zawiera te zmiany.
Zmiany w interfejsie API
- Dodaj interfejs
ProcessGlobalConfig#setDirectoryBasePath(String, String)
API, którego można używać do ustawiania katalogów podstawowych, z którychWebView
będzie korzystać w bieżącym procesie. (Ibd1a1, b/250553687)
Poprawki błędów
- Naprawianie nieprawidłowej reguły
ProGuard
powodującej błędy kompilacji podczas korzystania zDexGuard
(Ia65c2, b/270034835)
Wersja 1.7.0-alpha02
8 lutego 2023 r.
Zostanie wycofaneandroidx.webkit:webkit:1.7.0-alpha02
Wersja 1.7.0-alpha02 zawiera te zmiany.
Poprawki błędów
- Błędy w dokumentacji usługi
DropDataContentProvider
.
Wersja 1.7.0-alpha01
25 stycznia 2023 r.
Zostanie wycofaneandroidx.webkit:webkit:1.7.0-alpha01
Wersja 1.7.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Dodajemy obsługę przeciągania obrazów w
WebView
. Możesz umożliwić użytkownikom przeciąganie obrazów zWebView
, dodając nowy elementDropDataContentProvider
do pliku manifestu aplikacji. (05a1a6)
Wersja 1.6
Wersja 1.6.1
22 marca 2023 r.
Zostanie wycofaneandroidx.webkit:webkit:1.6.1
Wersja 1.6.1 zawiera te zmiany.
Poprawki błędów
- Naprawianie błędu analizy ProGuard (Ia65c2)
Wersja 1.6.0
25 stycznia 2023 r.
Zostanie wycofaneandroidx.webkit:webkit:1.6.0
Wersja 1.6.0 zawiera te zmiany.
Ważne zmiany od wersji 1.5.0
- Dodaliśmy nowy interfejs API ProcessGlobalConfig, który umożliwia aplikacjom podawanie ustawień konfiguracji, które muszą zostać ustawione przed załadowaniem komponentu WebView, np. sufiksu katalogu danych WebView. Konfigurację należy ustawić i zastosować jak najwcześniej podczas uruchamiania aplikacji, aby mieć pewność, że nastąpi to przed wywołaniem przez jakikolwiek inny wątek metody, która wczytuje
WebView
do procesu. - Dodaliśmy nowy interfejs API CookieManagerCompat, aby rozszerzyć android.webkit.CookieManager o nową metodę
getCookieInfo
, która pobiera wszystkie atrybuty wszystkich plików cookie ustawionych w określonym adresie URL. Różni się od obecnego interfejsu API getCookie wCookieManager
, który zwraca tylko atrybuty nazwy i wartości plików cookie. WebSettingsCompat
ma nowe metody włączania i wyłączania efektuEnterpriseAuthenticationAppLinkPolicy
, jeśli został on ustawiony przez administratora wWebView
, oraz pobierania bieżącego ustawienia. Ta funkcja umożliwia komponentowi WebView otwieranie aplikacji uwierzytelniającej zamiast adresu URL uwierzytelniania. Ta funkcja nie ma wpływu na urządzenia, którymi nie zarządza zasada firmowa.- Dodanie nowego interfejsu API do
WebSettingsCompat
, aby umożliwić aplikacjom jawne wysyłanie nazwy pakietu aplikacji w nagłówkuX-Requested-With
do punktów początkowych z listy dozwolonych. Nagłówek był tradycyjnie wysyłany w każdym żądaniu zWebView
.
Wersja 1.6.0-rc01
11 stycznia 2023 r.
Zostanie wycofaneandroidx.webkit:webkit:1.6.0-rc01
Wersja 1.6.0-rc01 zawiera te zmiany.
Poprawki błędów
- Naprawiono
NullPointerException
wWebViewFeature.isStartupFeatureSupported(Context, String)
podczas działania na pakiecie SDK w wersji starszej niż L. (Ic7292)
Wersja 1.6.0-beta01
7 grudnia 2022 r.
Zostanie wycofaneandroidx.webkit:webkit:1.6.0-beta01
Wersja 1.6.0-beta01 zawiera te zmiany.
Zmiany w interfejsie API
ProcessGlobalConfig
zostało zmienione tak, aby używać zwykłego konstruktora i statycznej metody apply. Metodę apply należy wywoływać tylko raz w procesie, jak najwcześniej. Jeśli zostanie wywołana więcej niż raz, zgłosi wyjątekIllegalStateException
.ProcessGlobalConfig
obiekty nie mają już żadnych ograniczeń co do liczby wywołań setterów. (I456c3)
Wersja 1.6.0-alpha03
9 listopada 2022 r.
Zostanie wycofaneandroidx.webkit:webkit:1.6.0-alpha03
Wersja 1.6.0-alpha03 zawiera te zmiany.
Nowe funkcje
- Dodaj klasę
ProcessGlobalConfig
, która umożliwia użytkownikom ustawienie globalnej konfiguracji procesu przed załadowaniemWebView
.WebView
ma pewne parametry konfiguracji globalnej procesu, których nie można zmienić po załadowaniuWebView
(np. katalog danychWebView
). Ta klasa umożliwia aplikacjom ustawianie tych parametrów. Konfigurację należy ustawić i zastosować jak najwcześniej podczas uruchamiania aplikacji, aby mieć pewność, że nastąpi to przed wywołaniem przez jakikolwiek inny wątek metody, która wczytujeWebView
do procesu. (I7c0e0, b/250553687) - Dodanie nowego interfejsu API, który umożliwia aplikacjom jawne wysyłanie nazwy pakietu aplikacji w nagłówku X-Requested-With do dozwolonych punktów początkowych. Nagłówek był tradycyjnie wysyłany w każdym żądaniu z
WebView
. (I0adfe, b/226552535)
Zmiany w interfejsie API
- Interfejs
WebSettingsCompat#setAlgorithmicDarkeningAllowed
API jest obsługiwany we wszystkich wersjach Androida wWebView
wersji 105 i nowszych. Wcześniejsze wersjeWebView
obsługiwały interfejs API tylko na urządzeniach z Androidem Q i nowszymi. W związku z tym ten interfejs API nie jest już oznaczony jako@RequiresApi(Build.VERSION_CODES.Q)
. (I3ac1d)
Wersja 1.6.0-alpha02
24 października 2022 r.
Zostanie wycofaneandroidx.webkit:webkit:1.6.0-alpha02
Wersja 1.6.0-alpha02 zawiera te zmiany.
Nowe funkcje
- Dodaje nową klasę
CookieManagerCompat
wraz z interfejsem APIgetCookieInfo
, który pobiera wszystkie atrybuty wszystkich plików cookie ustawionych w określonym adresie URL. Różni się on od istniejącego interfejsugetCookie
API wCookieManager
, który zwraca tylko atrybuty nazwy i wartości plików cookie. (I07365, b/242161756)
Wersja 1.6.0-alpha01
24 sierpnia 2022 r.
Zostanie wycofaneandroidx.webkit:webkit:1.6.0-alpha01
Wersja 1.6.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Dodano interfejsy API w
WebSettingsCompat
, aby włączać i wyłączać efektEnterpriseAuthenticationAppLinkPolicy
, jeśli został ustawiony przez administratora wWebView
. Ta funkcja umożliwia komponentowiWebView
otwieranie aplikacji uwierzytelniającej zamiast adresu URL uwierzytelniania. Ta funkcja nie ma wpływu na urządzenia, którymi nie zarządza zasada firmowa.
Wersja 1.5.0
Wersja 1.5.0
24 sierpnia 2022 r.
Zostanie wycofaneandroidx.webkit:webkit:1.5.0
Wersja 1.5.0 zawiera te zmiany.
Ważne zmiany od wersji 1.4.0
- Nowy interfejs API
setAlgorithmicDarkeningAllowed
naWebSettingsCompat
zastępuje stare interfejsy APIsetForceDark
isetForceDarkStrategy
. Aplikacje kierowane na pakiet SDK w wersji 33 lub nowszej (T) powinny korzystać z nowego interfejsu API, ponieważ stary interfejs API nie będzie już w nich działać. - Listę dozwolonych adresów URL, które mają korzystać ze skonfigurowanego serwera proxy, można teraz ustawić za pomocą
ProxyCofig.Builder
, ustawiającsetReverseBypassEnabled
natrue
. Gdy to ustawienie jest aktywne, wszystkie inne adresy URL będą pomijać skonfigurowany serwer proxy.
Wersja 1.5.0-rc01
10 sierpnia 2022 r.
androidx.webkit:webkit:1.5.0-rc01
zostaje opublikowany bez zmian od 1.5.0-beta01
. Wersja 1.5.0-rc01 zawiera te zmiany.
Wersja 1.5.0-beta01
29 czerwca 2022 r.
Zostanie wycofaneandroidx.webkit:webkit:1.5.0-beta01
Wersja 1.5.0-beta01 zawiera te zmiany.
Zmiany w interfejsie API
- Interfejsy API związane z algorytmicznym przyciemnianiem są teraz oznaczone jako wymagające poziomu API Q. Interfejs API nie będzie miał wpływu na poziomy API < Q, ponieważ na tych urządzeniach nie ma opcji motywu ciemnego. (I0905e)
Wersja 1.5.0-alpha01
18 maja 2022 r.
Zostanie wycofaneandroidx.webkit:webkit:1.5.0-alpha01
Wersja 1.5.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Dodaj nową metodę
getVariationsHeader()
wWebViewCompat
, aby uzyskać wartość nagłówka X-Client-Data wysyłaną przezWebView
. Zwrócona wartość będzie zakodowanym w formacie Base64 buforem protokołu ClientVariations. - Dodaj interfejsy API na
WebSettingsCompat
, aby zezwolić na algorytmiczne przyciemnianie w przypadku aplikacji z targetSdk >= 33 lub na nie zezwolić. (I29597)
Zmiany w interfejsie API
- Dodaj nową metodę w
ProxyCofig.Builder
, aby ustawić obejście zwrotne. Ustawienie wartości „true” w przypadku opcji „reverse bypass” oznacza, że tylko adresy URL na liście pomijania będą korzystać z ustawień serwera proxy. (I9eaa2, b/168728599)
Poprawki błędów
- Poprawiliśmy błąd w dokumentacji ciemnego motywu. (I36ebf, b/194343633)
- Naprawiliśmy błąd, który powodował, że metody
WebViewAssetLoader.Builder
były nieumyślnie zależne od kolejności. (If420d, b/182196765)
Wersja 1.4.0
Wersja 1.4.0
16 grudnia 2020 roku
Zostanie wycofaneandroidx.webkit:webkit:1.4.0
Wersja 1.4.0 zawiera te zmiany.
Główne zmiany od wersji 1.3.0
- Dodano nowy interfejs API
setSafeBrowsingAllowlist()
, który zastępuje interfejssetSafeBrowsingWhitelist()
. Dzięki temu aplikacje mogą aktualizować swój kod, aby unikać terminologii wykluczającej, a jednocześnie obsługiwać ten sam zakres pakietów SDK Androida i wersji komponentu WebView co wycofany interfejs API. - Naprawiliśmy błąd w funkcji setProxyOverride, który powodował nieprawidłowe stosowanie reguł rezerwowych.
Wersja 1.4.0-rc02
2 grudnia 2020 r.
Zostanie wycofaneandroidx.webkit:webkit:1.4.0-rc02
Wersja 1.4.0-rc02 zawiera te zmiany.
Poprawki błędów
- Naprawia problem z nieprawidłowym stosowaniem reguł rezerwowych podczas korzystania z funkcji setProxyOverride.
Wersja 1.4.0-rc01
11 listopada 2020 roku
androidx.webkit:webkit:1.4.0-rc01
zostaje opublikowany bez zmian od 1.4.0-beta01
. Wersja 1.4.0-rc01 zawiera te zmiany.
Wersja 1.4.0-beta01
14 października 2020 r.
androidx.webkit:webkit:1.4.0-beta01
zostaje opublikowany bez zmian od 1.4.0-alpha01
. Wersja 1.4.0-beta01 zawiera te zmiany.
Wersja 1.4.0-alpha01
16 września 2020 roku
Zostanie wycofaneandroidx.webkit:webkit:1.4.0-alpha01
Wersja 1.4.0-alpha01 zawiera te zmiany.
Zmiany w interfejsie API
- Dodano nowy interfejs API
WebViewCompat#setSafeBrowsingAllowlist()
, który zastępujesetSafeBrowsingWhitelist()
. Dzięki temu aplikacje mogą zaktualizować swój kod, aby uniknąć terminologii wykluczającej, a jednocześnie obsługiwać ten sam zakres pakietów SDK Androida i wersji komponentu WebView co wycofany interfejs API. (I8d65d)
Wersja 1.3.0
Wersja 1.3.0
19 sierpnia 2020 r.
Zostanie wycofaneandroidx.webkit:webkit:1.3.0
Wersja 1.3.0 zawiera te zmiany.
Główne zmiany od wersji 1.2.0
- Interfejs ForceDarkStrategy API zapewnia większą kontrolę nad przyciemnianiem WebView (przyciemnianie treści CSS/webowych w porównaniu z automatycznym przyciemnianiem).
- Interfejs WebMessageListener i powiązane z nim interfejsy API zapewniają prosty i bezpieczny mechanizm nawiązywania komunikacji między treściami internetowymi a aplikacją osadzającą WebView.
isMultiProcessEnabled
Interfejs API do sprawdzania, czy WebView działa w wielu procesach. Jest to możliwe od Androida O. Oznacza to, że treści internetowe są renderowane w procesie renderowania w piaskownicy, który jest oddzielony od procesu aplikacji. Ten renderowanie w piaskownicy może być udostępniany innym widokom WebView w tej samej aplikacji, ale nie jest udostępniany innym procesom aplikacji.
Wersja 1.3.0-rc02
5 sierpnia 2020 r.
Zostanie wycofaneandroidx.webkit:webkit:1.3.0-rc02
Wersja 1.3.0-rc02 zawiera te zmiany.
Poprawki błędów
- Rozwiązaliśmy problem ze zgodnością, który powodował, że
WebMessageListener
czasami ulegał awarii podczas lokalnego programowania, jeśli aplikacja była uruchamiana za pomocą funkcji natychmiastowego uruchamiania w Android Studio.
Wersja 1.3.0-rc01
24 czerwca 2020 r.
androidx.webkit:webkit:1.3.0-rc01
zostaje opublikowany bez zmian od 1.3.0-beta01
. Wersja 1.3.0-rc01 zawiera te zmiany.
Wersja 1.3.0-beta01
10 czerwca 2020 r.
Zostanie wycofaneandroidx.webkit:webkit:1.3.0-beta01
Wersja 1.3.0-beta01 zawiera te zmiany.
Nowe funkcje
ForceDarkStrategy
Interfejs API do kontrolowania przyciemniania widoku WebView (przyciemnianie treści CSS/webowych a przyciemnianie automatyczne).WebMessageListener
Interfejsy API zapewniają prosty i bezpieczny mechanizm nawiązywania komunikacji między treściami internetowymi a aplikacją osadzającą WebView.MultiProcessEnabled
Interfejs API do sprawdzania, czy WebView działa w trybie wieloprocesowym.
Wersja 1.3.0-alpha03
27 maja 2020 r.
Zostanie wycofaneandroidx.webkit:webkit:1.3.0-alpha03
Wersja 1.3.0-alpha03 zawiera te zmiany.
Zmiany w interfejsie API
addWebMessageListener
otrzymuje terazSet<String>
reguł dozwolonych źródeł (wcześniejList<String>
).
Wersja 1.3.0-alpha02
29 kwietnia 2020 r.
Zostanie wycofaneandroidx.webkit:webkit:1.3.0-alpha02
Wersja 1.3.0-alpha02 zawiera te zmiany.
Nowe funkcje
- MultiProcessEnabled API, aby sprawdzić, czy WebView działa w trybie wieloprocesowym.
Zmiany w interfejsie API
- Wszystkie stałe strategii ciemnych mają teraz przedrostek
DARK_STRATEGY
.
Wersja 1.3.0-alpha01
15 kwietnia 2020 roku
Zostanie wycofaneandroidx.webkit:webkit:1.3.0-alpha01
Wersja 1.3.0-alpha01 zawiera te zmiany.
Nowe funkcje
ForceDarkStrategy
Interfejs API do kontrolowaniaWebView
przyciemniania (przyciemnianie treści CSS/internetowych a przyciemnianie automatyczne).WebMessageListener
Interfejsy API zapewniają prosty i bezpieczny mechanizm nawiązywania komunikacji między treściami internetowymi a aplikacją osadzającą WebView.
Wersja 1.2.0
Wersja 1.2.0
4 marca 2020 r.
Zostanie wycofaneandroidx.webkit:webkit:1.2.0
Wersja 1.2.0 zawiera te zmiany.
Główne zmiany od wersji 1.1.0
- Dodano interfejs ForceDark API, który umożliwia określanie, czy widoki WebView mają być renderowane w trybie ciemnym.
Wersja 1.2.0-rc01
19 lutego 2020 r.
androidx.webkit:webkit:1.2.0-rc01
zostaje opublikowany bez zmian od 1.2.0-beta01
. Wersja 1.2.0-rc01 zawiera te zmiany.
Wersja 1.2.0-beta01
5 lutego 2020 r.
androidx.webkit:webkit:1.2.0-beta01
zostaje opublikowany bez zmian od 1.2.0-alpha01
. Wersja 1.2.0-beta01 zawiera te zmiany.
Wersja 1.2.0-alpha01
18 grudnia 2019 r.
Zostanie wycofaneandroidx.webkit:webkit:1.2.0-alpha01
Wersja 1.2.0-alpha01 zawiera te zmiany.
Nowe funkcje
- Interfejs ForceDark API umożliwia określenie, czy komponenty WebView mają być renderowane w trybie ciemnym.
Wersja 1.1.0
Wersja 1.1.0
7 listopada 2019 r.
Zostanie wycofaneandroidx.webkit:webkit:1.1.0
Wersja 1.1.0 zawiera te zmiany.
Ważne zmiany od wersji 1.0.0
- Interfejsy API typu getter uzupełniające funkcje setWebViewClient() i setWebChromeClient().
- Interfejs ProxyController API do ustawiania serwera proxy żądania sieciowego dla widoków WebView aplikacji.
- Interfejs WebViewAssetLoader API, który upraszcza wczytywanie zasobów APK, zasobów i plików z katalogu danych aplikacji przez przechwytywanie żądań. Umożliwia to dostęp do zasobów internetowych i lokalnych bez wyłączania CORS.
- interfejsu TracingController API do zbierania informacji o śledzeniu WebView na potrzeby debugowania;
- Interfejsy RenderProcess API do zarządzania usługami renderowania WebView i wykrywania, kiedy nieprawidłowo działające treści powodują, że renderowanie WebView przestaje odpowiadać.
- Zaktualizowano istniejące interfejsy API, aby uwzględnić adnotacje dotyczące możliwości przyjmowania wartości null (
@NonNull
,@Nullable
) i wątków (@UiThread
,@WorkerThread
).
Wersja 1.1.0-rc01
9 października 2019 r.
Zostanie wycofaneandroidx.webkit:webkit:1.1.0-rc01
Wersja 1.1.0-rc01 zawiera te zmiany.
Poprawki błędów
- Rozwiązaliśmy problem, który powodował, że funkcja
setWebViewRenderProcessClient()
mogła ulec awarii, jeśli przekazano do niej klienta o wartości null.
Wersja 1.1.0-beta01
5 września 2019 r.
Zostanie wycofaneandroidx.webkit:webkit:1.1.0-beta01
Listę zmian w tej wersji znajdziesz tutaj.
Nowe funkcje
- Nowa funkcja
InternalStoragePathHandler
wWebViewAssetLoader
do wczytywania plików z katalogu danych aplikacji.
Zmiany w interfejsie API
ProxyConfig#getProxyRules()
zwraca teraz niemodyfikowalną listę instancjiProxyRule
, która jest nową klasą przechowującą filtr schematu i odpowiadający mu adres URL serwera proxy.
Poprawki błędów
WebViewAssetLoader
domyślnie ustawia typ MIME „text/plain” (zamiast wartości null), gdy nie może odgadnąć typu MIME na podstawie ścieżki pliku.WebViewAssetLoader
nie zgłasza jużNullPointerException
podczas wczytywania plików ze znakami specjalnymi w nazwach ścieżek.
Wersja 1.1.0-alpha02
7 sierpnia 2019 r.
Zostanie wycofaneandroidx.webkit:webkit:1.1.0-alpha02
Listę zmian w tej wersji znajdziesz tutaj.
Nowe funkcje
WebViewAssetLoader
udostępnia interfejsPathHandler
, który umożliwia aplikacjom tworzenie niestandardowych funkcji obsługi ścieżek.
Zmiany w interfejsie API
WebViewAssetLoader
jest teraz klasą ostateczną, ponieważ nie jest przeznaczona do tworzenia podklas.- Implementacje
WebViewAssetLoader#PathHandler
są już publiczne i ostateczne. - Niewielkie zmiany w nazwach metod ProxyConfig.
ProxyController
: dodano nowe metodyaddDirect()
iaddDirect(String)
do bezpośredniego łączenia się z serwerami; usunięto ciąg DIRECT.- Zaktualizowano istniejące interfejsy API, aby uwzględnić adnotacje dotyczące możliwości przyjmowania wartości null (
@NonNull
,@Nullable
) i wątków (@UiThread
,@WorkerThread
).
Wersja 1.1.0-alpha01
7 maja 2019 r.
Zostanie wycofaneandroidx.webkit:webkit:1.1.0-alpha01
Listę zmian w tej wersji znajdziesz tutaj.
Nowe funkcje
- Interfejsy API typu getter uzupełniające interfejsy
setWebViewClient()
isetWebChromeClient()
- Interfejs ProxyController API do ustawiania serwera proxy żądania sieciowego dla widoków WebView aplikacji.
- Interfejs AssetLoader API, który upraszcza wczytywanie zasobów i plików APK przez przechwytywanie żądań, umożliwiając dostęp do zasobów internetowych bez wyłączania CORS.
- interfejsu TracingController API do zbierania informacji o śledzeniu WebView na potrzeby debugowania;
- Interfejsy RenderProcess API do zarządzania usługami renderowania WebView i wykrywania, kiedy nieprawidłowo działające treści powodują, że renderowanie WebView przestaje odpowiadać.
Poprawki błędów
- Drobne poprawki formatowania dokumentacji istniejących interfejsów API.