Webkit
Ostatnia aktualizacja | Wersja stabilna | Wersja kandydująca | Wersja Beta | Wersja alfa |
---|---|---|---|---|
13 listopada 2024 r. | 1.9.0 | - | - | 1.13.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 firmy Google.
Dodaj zależności dla artefaktów, których potrzebujesz, w pliku build.gradle
aplikacji lub modułu:
Odlotowe
dependencies { implementation "androidx.webkit:webkit:1.9.0" }
Kotlin
dependencies { implementation("androidx.webkit:webkit:1.9.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 zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk z gwiazdką.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.13
Wersja 1.13.0-alpha01
13 listopada 2024 r.
androidx.webkit:webkit:1.13.0-alpha01
został zwolniony. Wersja 1.13.0-alpha01 zawiera te komity.
Nowe funkcje
- Dodano eksperymentalny interfejs API
WebView
do asynchronicznego uruchamiania. (I94b8a) - Wstępne pobieranie adresów URL w profilu: wprowadziliśmy nowy interfejs API w profilu, aby umożliwić programistom uruchamianie wstępnego pobierania adresów URL. Czyszczenie danych pobieranych z poziomu pamięci podręcznej: dodano interfejs API do czyszczenia trwających pobieranych z poziomu pamięci podręcznej. (I42c5c)
Zmiany w interfejsie API
- Wycofaj
WebView.startSafeBrowsing
. (If5626)
Wersja 1.12
Wersja 1.12.1
2 października 2024 r.
androidx.webkit:webkit:1.12.1
został zwolniony. Wersja 1.12.1 zawiera te komity.
Poprawki błędów
- Rozwiązanie problemu, który uniemożliwiał udostępnienie interfejsów API w wersji 1.12.0.
Wersja 1.12.0
18 września 2024 r.
androidx.webkit:webkit:1.12.0
został zwolniony. Wersja 1.12.0 zawiera te komisy.
Ważne zmiany od wersji 1.11.0
- Dodaj nowy interfejs API do
WebSettingsCompat
, aby włączyć lub wyłączyć BackForwardCache dla tegoWebSettings
. To interfejs API jest w wersji eksperymentalnej i może ulec zmianie w przyszłości. (aosp/3111705) - Dodaj do
WebSettingsCompat
nowy interfejs API, aby kontrolować zachowanie wczytywania spekulacyjnego w przypadku tegoWebSettings
. Obecnie dostępna jest tylko opcja Przedrenderowania. To interfejs API jest w wersji eksperymentalnej i może ulec zmianie w przyszłości. (I13962) - Dodano nowy interfejs API, aby umożliwić uwierzytelnianie w witrynie w usłudze
WebView
. Deweloperzy mogą włączać i wyłączać wywołaniaWebAuthn
w swoich aplikacjach w ramachWebView
za pomocąWebSettingsCompat#setWebAuthenticationSupport
. (I8187f)
Wersja 1.12.0-rc01
4 września 2024 r.
androidx.webkit:webkit:1.12.0-rc01
został zwolniony. Ta wersja nie zawiera żadnych zmian w porównaniu z wersją 1.12.0-beta01
.
Wersja 1.12.0-beta01
21 sierpnia 2024 r.
androidx.webkit:webkit:1.12.0-beta01
został zwolniony. Wersja 1.12.0-beta01 zawiera te komity.
Poprawki błędów
- Usunięto 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 dla 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.
androidx.webkit:webkit:1.12.0-alpha02
został zwolniony. Wersja 1.12.0-alpha02 zawiera te komity.
Nowe funkcje
- Dodaj nowy interfejs API do
WebSettingsCompat
, aby włączyć lub wyłączyćBackForwardCache
. To interfejs API jest w wersji eksperymentalnej i może ulec zmianie w przyszłości. (I64a38) - Dodaj do
WebSettingsCompat
nowy interfejs API, aby kontrolować zachowanie dotyczące spekulatywnego wczytywania w przypadku tych ustawień WebSettings. Obecnie dostępna jest tylko opcja Przedrenderowania. To interfejs API jest w wersji eksperymentalnej i może ulec zmianie w przyszłości. (I13962)
Zmiany w interfejsie API
- Niektóre metody są teraz w stosownych przypadkach dokumentowane za pomocą
@UiThread
. (I6c7e0), (I44541) - Metody bezpieczne w wątku są teraz dokumentowane za pomocą
@AnyThread
. (I70189) - Zwiększanie wartości kolumny
minSdkVersion
z 19 na 21. (Id7a43)
Wersja 1.12.0-alpha01
17 kwietnia 2024 r.
androidx.webkit:webkit:1.12.0-alpha01
został zwolniony. Wersja 1.12.0-alpha01 zawiera te komity.
Zmiany w interfejsie API
- Dodano nowy interfejs API, który umożliwia uwierzytelnianie w sieci w
WebView. Developers
. Użytkownicy mogą włączać i wyłączać wywołaniaWebAuthn
wWebView
w aplikacji za pomocąWebSettingsCompat#setWebAuthenticationSupport
. (I8187f)
Wersja 1.11
Wersja 1.11.0
1 maja 2024 r.
androidx.webkit:webkit:1.11.0
został zwolniony. Wersja 1.11.0 zawiera te komity.
Ważne zmiany od wersji 1.10.0
- Zezwalaj aplikacjom na sterowanie odtwarzaniem dźwięku w
WebView
za pomocą nowych interfejsów APIsetAudioMuted
iisAudioMuted
, które są analogiczne do wyciszania karty w Chrome. - Wprowadziliśmy
URLUtilCompat
, który obsługuje analizowanie nagłówkówContent-Disposition
, które używają atrybutu wartości zakodowanejfilename*
zgodnie z definicją w standardzie RFC 6266. Interfejs API zgodności udostępnia też bezpośrednio metodę analizowania nagłówkaContent-Disposition
, w której nie jest wymagana sugerowana nazwa pliku na podstawie adresu URL i typu MIME.
Wersja 1.11.0-rc01
3 kwietnia 2024 r.
androidx.webkit:webkit:1.11.0-rc01
został zwolniony. Ta wersja nie zawiera żadnych 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
jest wydana bez żadnych istotnych zmian. Wersja 1.11.0-beta01 zawiera te komisy.
Wersja 1.11.0-alpha02
21 lutego 2024 r.
androidx.webkit:webkit:1.11.0-alpha02
został zwolniony. Wersja 1.11.0-alpha02 zawiera te commity.
Nowe funkcje
- Dodaj metody
setAudioMuted
iisAudioMuted
do wyciszania (i włączania)WebViews
. Ta metoda pozwoli Ci zapobiec odtwarzaniu dźwięku przezWebView
. (Ie7a33)
Zmiany w interfejsie API
URLUtilCompat
jest ostateczne, ponieważ nie powinno być podklasyfikowane. (I49ec1)
Wersja 1.11.0-alpha01
7 lutego 2024 r.
androidx.webkit:webkit:1.11.0-alpha01
został zwolniony. Wersja 1.11.0-alpha01 zawiera te commity.
Nowe funkcje
- Dodaj zgodność z
URLUtil.guessFileName
. Wersja zgodności wURLUtilCompat
obsługuje analizowanie nagłówkówContent-Disposition
, które używają atrybutu wartości zakodowanejfilename*
zgodnie z definicją w RFC 6266. Interfejs API zgodności udostępnia też bezpośrednio metodę analizowania nagłówkaContent-Disposition
, w której nie jest wymagana sugerowana nazwa pliku na podstawie adresu URL i typu MIME. (If6ae7, b/309927164)
Wersja 1.10
Wersja 1.10.0
24 stycznia 2024 r.
androidx.webkit:webkit:1.10.0
został zwolniony. Wersja 1.10.0 zawiera te commity.
Ważne zmiany od wersji 1.9.0
- Dodaliśmy do WebSettingsCompat nowy interfejs API, który umożliwia kontrolowanie eksperymentalnego zachowania interfejsu Android WebView Media Integrity API. Można to zrobić, całkowicie wyłączając interfejs API lub ograniczając udostępnianie tożsamości aplikacji w odpowiedzi interfejsu API. Można to włączyć dla wszystkich źródeł lub dla poszczególnych źródeł.
Wersja 1.10.0-rc01
10 stycznia 2024 r.
androidx.webkit:webkit:1.10.0-rc01
został zwolniony. Ta wersja nie zawiera żadnych zmian w porównaniu z wersją 1.10.0-beta01
.
Wersja 1.10.0-beta01
13 grudnia 2023 r.
androidx.webkit:webkit:1.10.0-beta01
został zwolniony. Wersja 1.10.0-beta01 zawiera te commity.
- Brak zmian funkcjonalnych od
1.10.0-alpha01
.
Wersja 1.10.0-alpha01
29 listopada 2023 r.
androidx.webkit:webkit:1.10.0-alpha01
został zwolniony. Wersja 1.10.0-alpha01 zawiera te commity.
Nowe funkcje
- Do
WebSettingsCompat
dodano nowy interfejs API, aby umożliwić kontrolowanie eksperymentalnego zachowania interfejsu Android WebView Media Integrity API. Można całkowicie wyłączyć ten interfejs API lub ograniczyć udostępnianie tożsamości aplikacji w odpowiedzi interfejsu API. Można to włączyć dla wszystkich źródeł lub dla poszczególnych źródeł.
Wersja 1.9
Wersja 1.9.0
29 listopada 2023 r.
androidx.webkit:webkit:1.9.0
został zwolniony. Wersja 1.9.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.8.0
- Dodano nowy interfejs API dla wielu profili w komponentach WebView.
- Interfejs Profile ma różne interfejsy API, które można wykorzystać do pobrania powiązanych z tym profilem 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, a odzyskać za pomocą metody WebViewCompat#getProfile. - Nowo wprowadzony ProfileStore umożliwia zarządzanie dostępnymi profilami w aplikacji, w tym profilem domyślnym.
- Dotychczasowe interfejsy WebView, takie jak CookieManager#getInstance, będą nadal działać w ramach profilu domyślnego.
- Dodano interfejs API do wstawiania i uruchamiania kodu JavaScript przed załadowaniem strony.
- Interfejs WebViewCompat#addDocumentStartJavascript API umożliwia aplikacjom wstrzykiwanie skryptów do
WebView
, które są gwarantowanie wykonywane przed uruchomieniem skryptów strony. Interfejs API umożliwia aplikacji określenie docelowej listy źródeł, dla których skrypt ma być włączony, co zapewnia, że będzie on uruchamiany 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 załadowaniu. Aplikacje mogą używać tego nowego interfejsu API w połączeniu z metodą WebViewCompat#addWebMessageListener, aby w sposób niezawodny skonfigurować dwukierunkową komunikację z JavaScriptem na stronie.
- Interfejs WebViewCompat#addDocumentStartJavascript API umożliwia aplikacjom wstrzykiwanie skryptów do
- Dodano interfejsy API umożliwiające modyfikowanie sposobu rejestrowania zdarzeń raportowania atrybucji w Piaskownicy prywatności.
- Wprowadziliśmy nowy interfejs API WebSettingsCompat#setAttributionRegistrationBehavior, który pozwala deweloperom skonfigurować, czy źródła i wyzwalacze atrybucji mają być rejestrowane jako pochodzące z samej aplikacji, czy z treści internetowych w WebView. Tej metody można też używać do wyłączania raportowania atrybucji w WebView. Dodatkowo dodaliśmy nowy interfejs API
WebSettingsCompat#getAttributionRegistrationBehavior
, aby uzyskać bieżące działanie. - Więcej informacji znajdziesz w dokumentacji Piaskownicy prywatności.
- Wprowadziliśmy nowy interfejs API WebSettingsCompat#setAttributionRegistrationBehavior, który pozwala deweloperom skonfigurować, czy źródła i wyzwalacze atrybucji mają być rejestrowane jako pochodzące z samej aplikacji, czy z treści internetowych w WebView. Tej metody można też używać do wyłączania raportowania atrybucji w WebView. Dodatkowo dodaliśmy nowy interfejs API
- Dodaliśmy interfejsy API, które umożliwiają zastąpienie metadanych użytkownika w przypadku wskazówek dotyczących klienta.
- Wprowadziliśmy nowy interfejs API WebSettingsCompat#setUserAgentMetadata, który pozwala zastąpić metadane użytkownika dla WebView używane do wypełniania wskazówek klienta użytkownika. Wprowadziliśmy też nowy interfejs API WebSettingsCompat#getUserAgentMetadata, który umożliwia pobieranie bieżących zastąpień użytkownika. Zachęcamy do korzystania z nowego interfejsu API, aby ustawiać prawidłowe wartości zastąpienia za każdym razem, gdy aplikacja zmienia domyślny ciąg znaków identyfikatora użytkownika za pomocą metody 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.
androidx.webkit:webkit:1.9.0-rc01
został zwolniony. Ta wersja nie zawiera żadnych zmian w porównaniu z wersją 1.9.0-beta01
.
Wersja 1.9.0-beta01
1 listopada 2023 roku
androidx.webkit:webkit:1.9.0-beta01
został zwolniony. Wersja 1.9.0-beta01 zawiera te commity.
Zmiany w interfejsie API
- Rozwiązanie problemu z możliwością zwrócenia wartości null przez interfejs API metadanych user-agenta. Zaktualizowaliśmy klasę
BrandVersion
, aby używała wzorca konstruktora, i ujednoliciliśmy możliwość zwracania wartości null przez metody getter i setter klasyUserAgentMetadata
. (Ibf195) - Dodanie adnotacji
ProfileStore
,WebViewCompat#setProfile
iWebViewCompat.getProfile
do@UiThread
. (I499b2)
Wersja 1.9.0-alpha01
18 października 2023 r.
androidx.webkit:webkit:1.9.0-alpha01
został zwolniony. Wersja 1.9.0-alpha01 zawiera te commity.
Nowe funkcje
- Dodaliśmy interfejs API dla wielu profili, który umożliwia prowadzenie osobnych sesji przeglądania między
WebViews
.Każdy profil ma własne dane (np. pliki cookie). Możesz tworzyć profile, przypisywać je do instancjiWebView
i odzyskiwać je później, aby uzyskać dostęp do danych. Do zarządzania profilami za pomocą interfejsów API służy klasa singletonProfileStore
, która umożliwia tworzenie i usuwanie profili za pomocą interfejsów API:getOrCreateProfile
,getProfile
,getAllProfileNames
ideleteProfile
. KlasaProfile
będzie używać różnych interfejsów API do pobierania danych powiązanych z tym profilem, takich 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
. W związku z tym profilWebView
można pobrać za pomocąWebViewCompat#getProfile
. (I32d22) - Dodaj interfejsy API, aby zmodyfikować sposób rejestrowania zdarzeń raportowania atrybucji. Wprowadziliśmy nowy interfejs API
WebSettingsCompat#setAttributionRegistrationBehavior
, który pozwala deweloperom skonfigurować, czy źródła i reguły mają być rejestrowane jako pochodzące z samej aplikacji, czy z treści internetowych wWebView
. Tej metody można też używać do wyłączania raportowania atrybucji wWebView
. Dodatkowo dodaliśmy nowy interfejs APIWebSettingsCompat#getAttributionRegistrationBehavior
, aby uzyskać bieżące działanie. 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 pozwala zastąpić metadane klienta użytkownika w WebView. Dane te są używane do wypełniania wskazówek dotyczących klienta użytkownika. Dodaliśmy też nowy interfejs APIWebSettingsCompat#getUserAgentMetadata
, który umożliwia uzyskiwanie bieżących wartości zastępczych klienta użytkownika. Zachęcamy, aby aplikacje używały nowego interfejsu API do ustawiania odpowiednich wartości zastępowania zamiast polegania na zmianie identyfikatora user-agent. (I74500) - Dodaj interfejs API, aby wstrzyknąć kod JavaScript, który ma być wykonywany podczas wczytywania strony. Interfejs API
WebViewCompat.addDocumentStartJavascript
umożliwia aplikacjom wstrzykiwanie skryptów do WebView, które będą uruchamiane przed wykonaniem skryptów strony. Interfejs API umożliwia aplikacji określenie docelowej listy źródeł, dla których skrypt ma być włączony, co zapewnia, że będzie on uruchamiany tylko na odpowiednich stronach. W przeciwieństwie doWebView.evaluateJavascript
ten interfejs API umożliwia wykonywanie skryptów w osadzonych elementach iFrame po ich załadowaniu. (Ide063)
Wersja 1.8
Wersja 1.8.0
6 września 2023 r.
androidx.webkit:webkit:1.8.0
został zwolniony. Wersja 1.8.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.7.0
- Dodanie obsługi przekazywania wartości
ArrayBuffer
przezWebMessagePortCompat#postMessage
,JavaScriptReplyProxy#postMessage
iWebViewCompat#postWebMessage
, odbierania wartościArrayBuffer
z JavaScriptu przezWebMessagePortCompat
iWebMessageListener
oraz odbierania wartościArrayBuffer
do przeniesienia z JavaScriptu przezWebMessagePortCompat
. (aosp/2596550, b/251152171)
Wersja 1.8.0-rc01
9 sierpnia 2023 r.
androidx.webkit:webkit:1.8.0-rc01
jest publikowany bez zmian od 1.8.0-beta01
. Wersja 1.8.0-rc01 zawiera te zatwierdzenia.
Wersja 1.8.0-beta01
26 lipca 2023 r.
androidx.webkit:webkit:1.8.0-beta01
jest publikowany bez zmian od 1.8.0-alpha01
. Wersja 1.8.0-beta01 zawiera te commity.
Wersja 1.8.0-alpha01
7 czerwca 2023 r.
androidx.webkit:webkit:1.8.0-alpha01
został zwolniony. Wersja 1.8.0-alpha01 zawiera te commity.
Zmiany w interfejsie API
- Zobacz sekcję Wkład zewnętrzny.
Darowizna zewnętrzna
- Dodanie obsługi przekazywania wartości
ArrayBuffer
przezWebMessagePortCompat#postMessage
,JsReplyProxy#postMessage
iWebViewCompat#postWebMessage
, odbierania wartościArrayBuffer
z JavaScriptu przezWebMessagePortCompat
iWebMessageListener
oraz odbierania wartościArrayBuffer
z JavaScriptu przezWebMessagePortCompat
. Pamiętaj, że ten interfejs API będzie dostępny dopiero od wersjiWebView
116. (Ie7567, b/251152171)
Wersja 1.7
Wersja 1.7.0
24 maja 2023 r.
androidx.webkit:webkit:1.7.0
został zwolniony. Wersja 1.7.0 zawiera te commity.
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 z poziomuWebView
, dodając do pliku manifestu aplikacji nowe poleDropDataContentProvider
w sposób opisany w dokumentacji klasy. - Dodaliśmy interfejs API
ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File)
, który umożliwia ustawienie katalogów podstawowych, którychWebView
będzie używać w ramach bieżącego procesu. Podobnie jak w przypadku wszystkich metod w klasieProcessGlobalConfig
, ta metoda musi być wywołana przed utworzeniem pierwszej instancji klasyWebView
. Ta metoda została dodana, aby umożliwić platformie Android dostosowanie ustawieńWebView
. W przypadku aplikacji ogólnego przeznaczenia nie zalecamy stosowania tej metody.
Wersja 1.7.0-rc01
10 maja 2023 r.
androidx.webkit:webkit:1.7.0-rc01
jest publikowany bez zmian od 1.7.0-beta01
. Wersja 1.7.0-rc01 zawiera te zatwierdzenia.
Wersja 1.7.0-beta01
5 kwietnia 2023 r.
androidx.webkit:webkit:1.7.0-beta01
został zwolniony. Wersja 1.7.0-beta01 zawiera te commity.
Zmiany w interfejsie API
- Niewielka zmiana w flagach funkcji i nazwie metody oraz przyjęcie przez
setDirectoryBasePaths()
typu File zamiast String (Ib0d0a)
Wersja 1.7.0-alpha03
8 marca 2023 r.
androidx.webkit:webkit:1.7.0-alpha03
został zwolniony. Wersja 1.7.0-alpha03 zawiera te commity.
Zmiany w interfejsie API
- Dodaj interfejs API
ProcessGlobalConfig#setDirectoryBasePath(String, String)
, który umożliwia ustawienie katalogów podstawowych, którychWebView
będzie używać w bieżącym procesie. (Ibd1a1, b/250553687)
Poprawki błędów
- Napraw nieprawidłową regułę
ProGuard
powodującą błędy kompilacji podczas używaniaDexGuard
(Ia65c2, b/270034835)
Wersja 1.7.0-alpha02
8 lutego 2023 r.
androidx.webkit:webkit:1.7.0-alpha02
został zwolniony. Wersja 1.7.0-alpha02 zawiera te commity.
Poprawki błędów
- Błędy w dokumentacji dotyczące
DropDataContentProvider
.
Wersja 1.7.0-alpha01
25 stycznia 2023 r.
androidx.webkit:webkit:1.7.0-alpha01
został zwolniony. Wersja 1.7.0-alpha01 zawiera te commity.
Nowe funkcje
- Dodajemy obsługę przeciągania obrazów w
WebView
. Możesz umożliwić użytkownikom przeciąganie obrazów zWebView
, dodając noweDropDataContentProvider
do pliku manifestu aplikacji. (05a1a6)
Wersja 1.6
Wersja 1.6.1
22 marca 2023 r.
androidx.webkit:webkit:1.6.1
został zwolniony. Wersja 1.6.1 zawiera te zatwierdzenia.
Poprawki błędów
- Napraw błąd analizy Proguard (Ia65c2)
Wersja 1.6.0
25 stycznia 2023 r.
androidx.webkit:webkit:1.6.0
został zwolniony. Wersja 1.6.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.5.0
- Dodano nowy interfejs ProcessGlobalConfig, aby umożliwić aplikacjom podawanie ustawień konfiguracji, które należy ustawić przed załadowaniem WebView, takich jak sufiks katalogu danych WebView. Konfiguracja powinna zostać skonfigurowana i zaimplementowana jak najwcześniej podczas uruchamiania aplikacji, aby mieć pewność, że nastąpi to przed wywołaniem przez dowolny inny wątek metody, która wczytuje
WebView
do procesu. - Dodano nowy interfejs CookieManagerCompat, aby rozszerzyć android.webkit.CookieManager o nową metodę
getCookieInfo
, która pobiera wszystkie atrybuty wszystkich plików cookie ustawionych w danym adresie URL. Różni się to od istniejącego interfejsu getCookie API wCookieManager
, który zwraca tylko atrybuty nazwa i wartość plików cookie. WebSettingsCompat
ma nowe metody włączania i wyłączania efektuEnterpriseAuthenticationAppLinkPolicy
, jeśli został on ustawiony przez administratora wWebView
, oraz uzyskiwania bieżącego ustawienia. Ta funkcja umożliwia otwieranie przez WebView aplikacji uwierzytelniającej zamiast adresu URL uwierzytelniania. Ta funkcja nie ma wpływu na urządzenia, którymi nie zarządza zasada firmy.- Dodanie nowego interfejsu API do
WebSettingsCompat
, aby umożliwić aplikacjom jawne wysyłanie nazwy pakietu aplikacji w nagłówkuX-Requested-With
do źródeł z listy dozwolonych. Nagłówek był tradycyjnie wysyłany z każdą prośbą z adresuWebView
.
Wersja 1.6.0-rc01
11 stycznia 2023 r.
androidx.webkit:webkit:1.6.0-rc01
został zwolniony. Wersja 1.6.0-rc01 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono błąd
NullPointerException
wWebViewFeature.isStartupFeatureSupported(Context, String)
podczas uruchamiania na platformie SDK < L. (Ic7292)
Wersja 1.6.0-beta01
7 grudnia 2022 r.
androidx.webkit:webkit:1.6.0-beta01
został zwolniony. Wersja 1.6.0-beta01 zawiera te commity.
Zmiany w interfejsie API
ProcessGlobalConfig
został zmieniony, aby używać zwykłego konstruktora i statycznych metod apply. Metoda apply powinna być wywoływana tylko raz na proces, jak najwcześniej, i wyrzuciIllegalStateException
, jeśli zostanie wywołana więcej niż raz. ObiektyProcessGlobalConfig
nie są już ograniczone pod względem liczby wywołań metody settera. (I456c3)
Wersja 1.6.0-alpha03
9 listopada 2022 r.
androidx.webkit:webkit:1.6.0-alpha03
został zwolniony. Wersja 1.6.0-alpha03 zawiera te commity.
Nowe funkcje
- Dodaj klasę
ProcessGlobalConfig
, która umożliwia użytkownikom skonfigurowanie 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. Konfiguracja powinna zostać skonfigurowana i zaimplementowana jak najwcześniej podczas uruchamiania aplikacji, aby mieć pewność, że nastąpi to przed wywołaniem przez dowolny inny wątek metody, która wczytujeWebView
do procesu. (I7c0e0, b/250553687) - Dodawanie nowego interfejsu API, aby umożliwić aplikacjom jawne wysyłanie nazwy pakietu aplikacji w nagłówku X-Requested-With do źródeł z listy dozwolonych. Nagłówek był tradycyjnie wysyłany z każdą prośbą z adresu
WebView
. (I0adfe, b/226552535)
Zmiany w interfejsie API
- Interfejs API
WebSettingsCompat#setAlgorithmicDarkeningAllowed
jest obsługiwany we wszystkich wersjach Androida w wersjiWebView
105 i nowszych. Wcześniejsze wersjeWebView
obsługiwały interfejs API tylko na Androidzie Q i nowszych. W związku z tym ta usługa API nie jest już oznaczona jako@RequiresApi(Build.VERSION_CODES.Q)
. (I3ac1d)
Wersja 1.6.0-alpha02
24 października 2022 r.
androidx.webkit:webkit:1.6.0-alpha02
został zwolniony. Wersja 1.6.0-alpha02 zawiera te commity.
Nowe funkcje
- Dodaje nową klasę
CookieManagerCompat
oraz interfejs APIgetCookieInfo
, który pobiera wszystkie atrybuty wszystkich plików cookie ustawionych w danym adresie URL. Różni się to od istniejącego interfejsu APIgetCookie
wCookieManager
, który zwraca tylko atrybuty nazwa i wartość plików cookie. (I07365, b/242161756)
Wersja 1.6.0-alpha01
24 sierpnia 2022 r.
androidx.webkit:webkit:1.6.0-alpha01
został zwolniony. Wersja 1.6.0-alpha01 zawiera te commity.
Nowe funkcje
- Dodano interfejsy API w
WebSettingsCompat
, aby włączyć lub wyłączyć efektEnterpriseAuthenticationAppLinkPolicy
, jeśli został ustawiony przez administratora wWebView
. Ta funkcja umożliwiaWebView
otwieranie aplikacji uwierzytelniającej zamiast otwierania adresu URL uwierzytelniania. Ta funkcja nie ma wpływu na urządzenia, którymi nie zarządza zasada firmy.
Wersja 1.5.0
Wersja 1.5.0
24 sierpnia 2022 r.
androidx.webkit:webkit:1.5.0
został zwolniony. Wersja 1.5.0 zawiera te zatwierdzenia.
Ważne zmiany od wersji 1.4.0
- Nowy interfejs API
setAlgorithmicDarkeningAllowed
w usłudzeWebSettingsCompat
zastępuje stare interfejsy APIsetForceDark
isetForceDarkStrategy
. Aplikacje kierowane na pakiet SDK 33 lub nowszy (T) powinny używać nowego interfejsu API, ponieważ stary interfejs API nie będzie już miał żadnego wpływu na te aplikacje. - Listę dozwolonych adresów URL, które mają korzystać z skonfigurowanego serwera proxy, można teraz ustawić za pomocą parametru
ProxyCofig.Builder
, ustawiając wartość parametrusetReverseBypassEnabled
natrue
. Gdy to ustawienie będzie aktywne, wszystkie inne adresy URL będą omijać skonfigurowany serwer proxy.
Wersja 1.5.0-rc01
10 sierpnia 2022 r.
androidx.webkit:webkit:1.5.0-rc01
jest publikowany bez zmian od 1.5.0-beta01
. Wersja 1.5.0-rc01 zawiera te commity.
Wersja 1.5.0-beta01
29 czerwca 2022 r.
androidx.webkit:webkit:1.5.0-beta01
został zwolniony. Wersja 1.5.0-beta01 zawiera te commity.
Zmiany w interfejsie API
- Interfejsy API związane z ciemnieniem algorytmicznym są teraz oznaczone jako wymagające poziomu interfejsu API Q. Interfejs API nie będzie miał żadnego wpływu na poziomy interfejsu API <Q, ponieważ na tych urządzeniach ciemny motyw nie jest dostępny. (I0905e)
Wersja 1.5.0-alpha01
18 maja 2022 r.
androidx.webkit:webkit:1.5.0-alpha01
został zwolniony. Wersja 1.5.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaj nową metodę
getVariationsHeader()
w komponencieWebViewCompat
, aby uzyskać wartość nagłówka X-Client-Data wysłanego przezWebView
. Zwrócona wartość będzie protobufiem ClientVariations zakodowanym w formacie base64. - Dodaj interfejsy API na stronie
WebSettingsCompat
, aby zezwolić lub zablokować ciemnienie algorytmiczne w przypadku aplikacji z targetSdk >= 33. (I29597)
Zmiany w interfejsie API
- Dodaj nową metodę w sekcji
ProxyCofig.Builder
, aby skonfigurować odwrotne pominięcie. Ustawienie odwrotnego pomijania na wartość Prawda spowoduje, że ustawienia serwera proxy będą stosowane tylko do adresów URL z listy pomijania. (I9eaa2, b/168728599)
Poprawki błędów
- Naprawiono literówkę w dokumentacji ciemnego motywu. (I36ebf, b/194343633)
- Naprawiliśmy błąd polegający na tym, że metody
WebViewAssetLoader.Builder
były niezamierzenie zależne od kolejności. (If420d, b/182196765)
Wersja 1.4.0
Wersja 1.4.0
16 grudnia 2020 roku
androidx.webkit:webkit:1.4.0
został zwolniony. Wersja 1.4.0 zawiera te zatwierdzenia.
Najważniejsze zmiany od wersji 1.3.0
- Dodano nowy interfejs API
setSafeBrowsingAllowlist()
, który zastępuje interfejssetSafeBrowsingWhitelist()
. Dzięki temu aplikacje mogą aktualizować kod, aby uniknąć nieobejmującej terminologii, zachowując przy tym obsługę tych samych wersji pakietów SDK i WebView co starsze wersje interfejsu API. - Naprawiliśmy błąd w setProxyOverride, który powodował, że reguły zapasowe nie były prawidłowo stosowane.
Wersja 1.4.0-rc02
2 grudnia 2020 r.
androidx.webkit:webkit:1.4.0-rc02
został zwolniony. Wersja 1.4.0-rc02 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązanie problemu polegający na tym, że reguły zapasowe nie były prawidłowo stosowane podczas używania setProxyOverride.
Wersja 1.4.0-rc01
11 listopada 2020 roku
androidx.webkit:webkit:1.4.0-rc01
jest publikowany bez zmian od 1.4.0-beta01
. Wersja 1.4.0-rc01 zawiera te zatwierdzenia.
Wersja 1.4.0-beta01
14 października 2020 r.
androidx.webkit:webkit:1.4.0-beta01
jest publikowany bez zmian od 1.4.0-alpha01
. Wersja 1.4.0-beta01 zawiera te commity.
Wersja 1.4.0-alpha01
16 września 2020 roku
androidx.webkit:webkit:1.4.0-alpha01
został zwolniony. Wersja 1.4.0-alpha01 zawiera te commity.
Zmiany w interfejsie API
- Dodano nowy interfejs API
WebViewCompat#setSafeBrowsingAllowlist()
, który zastępuje interfejssetSafeBrowsingWhitelist()
. Dzięki temu aplikacje mogą aktualizować kod, aby uniknąć nieobejmującej terminologii, a jednocześnie nadal obsługiwać ten sam zakres pakietów SDK i wersji WebView co starsze wersje interfejsu API. (I8d65d)
Wersja 1.3.0
Wersja 1.3.0
19 sierpnia 2020 r.
androidx.webkit:webkit:1.3.0
został zwolniony. Wersja 1.3.0 zawiera te commity.
Najważniejsze zmiany od wersji 1.2.0
- Interfejs ForceDarkStrategy API zapewnia większą kontrolę nad przyciemnieniem WebView (przyciemnienie treści WebView lub automatyczne przyciemnienie).
- Interfejs WebMessageListener i powiązane z nim interfejsy API zapewniają prosty i bezpieczny mechanizm nawiązywania komunikacji między treściami internetowymi a aplikacją do osadzania WebView.
isMultiProcessEnabled
API, aby sprawdzić, czy WebView działa w wielu procesach. Jest to możliwe od Androida O. Oznacza to, że treści internetowe są renderowane w procesie piaskownicy oddzielonym od procesu aplikacji. Ten renderujący w piaskownicy może być udostępniany innym WebView w tej samej aplikacji, ale nie jest udostępniany innym procesom aplikacji.
Wersja 1.3.0-rc02
5 sierpnia 2020 r.
androidx.webkit:webkit:1.3.0-rc02
został zwolniony. Wersja 1.3.0-rc02 zawiera te commity.
Poprawki błędów
- Rozwiązaliśmy problem ze zgodnością, który powodował czasami zawieszanie się
WebMessageListener
podczas lokalnego tworzenia aplikacji, jeśli została ona uruchomiona za pomocą funkcji błyskawicznego uruchamiania w Android Studio.
Wersja 1.3.0-rc01
24 czerwca 2020 r.
androidx.webkit:webkit:1.3.0-rc01
jest publikowany bez zmian od 1.3.0-beta01
. Wersja 1.3.0-rc01 zawiera te commity.
Wersja 1.3.0-beta01
10 czerwca 2020 r.
androidx.webkit:webkit:1.3.0-beta01
został zwolniony. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.
Nowe funkcje
ForceDarkStrategy
API do kontrolowania przyciemnienia WebView (przyciemnienie treści w CSS lub na stronie w porównaniu z automatycznym przyciemnieniem).WebMessageListener
Interfejsy API zapewniają prosty i bezpieczny mechanizm nawiązywania komunikacji między treściami internetowymi a aplikacją do umieszczania WebView.MultiProcessEnabled
API, aby sprawdzić, czy WebView działa w trybie wieloprocesowym.
Wersja 1.3.0-alpha03
27 maja 2020 r.
androidx.webkit:webkit:1.3.0-alpha03
został zwolniony. Wersja 1.3.0-alpha03 zawiera te commity.
Zmiany w interfejsie API
- Metoda
addWebMessageListener
otrzymuje terazSet<String>
reguł dozwolonych wartości pochodzenia (wcześniejList<String>
).
Wersja 1.3.0-alpha02
29 kwietnia 2020 r.
androidx.webkit:webkit:1.3.0-alpha02
został zwolniony. Wersja 1.3.0-alpha02 zawiera te commity.
Nowe funkcje
- interfejs API MultiProcessEnabled, aby sprawdzić, czy WebView działa w trybie wieloprocesowym;
Zmiany w interfejsie API
- Wszystkie stałe związane z ciemną strategią mają teraz przedrostek
DARK_STRATEGY
.
Wersja 1.3.0-alpha01
15 kwietnia 2020 roku
androidx.webkit:webkit:1.3.0-alpha01
został zwolniony. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
ForceDarkStrategy
API do kontrolowaniaWebView
przyciemnienia (przyciemnienia kodu CSS lub treści internetowej w porównaniu z automatycznym przyciemnieniem).WebMessageListener
Interfejsy API zapewniają prosty i bezpieczny mechanizm nawiązywania komunikacji między treściami internetowymi a aplikacją do umieszczania WebView.
Wersja 1.2.0
Wersja 1.2.0
4 marca 2020 r.
androidx.webkit:webkit:1.2.0
został zwolniony. Wersja 1.2.0 zawiera te zatwierdzenia.
Najważniejsze zmiany od wersji 1.1.0
- Dodano interfejs ForceDark API do kontrolowania, czy WebViews mają być renderowane w ciemnym trybie.
Wersja 1.2.0-rc01
19 lutego 2020 r.
androidx.webkit:webkit:1.2.0-rc01
jest publikowany bez zmian od 1.2.0-beta01
. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.
Wersja 1.2.0-beta01
5 lutego 2020 r.
androidx.webkit:webkit:1.2.0-beta01
jest publikowany bez zmian od 1.2.0-alpha01
. Wersja 1.2.0-beta01 zawiera te zatwierdzenia:
Wersja 1.2.0-alpha01
18 grudnia 2019 r.
androidx.webkit:webkit:1.2.0-alpha01
został zwolniony. Wersja 1.2.0-alpha01 zawiera te zatwierdzenia
Nowe funkcje
- ForceDark API do kontrolowania, czy komponenty WebView mają być renderowane w ciemnym trybie.
Wersja 1.1.0
Wersja 1.1.0
7 listopada 2019 r.
androidx.webkit:webkit:1.1.0
został zwolniony. Wersja 1.1.0 zawiera te zatwierdzenia:
Ważne zmiany od wersji 1.0.0
- interfejsy API metody Getter uzupełniające metody setWebViewClient() i setWebChromeClient();
- interfejs ProxyController API do ustawiania serwera proxy żądań sieciowych dla WebView w aplikacji.
- interfejs WebViewAssetLoader API do uproszczenia wczytywania komponentów, zasobów i plików APK z katalogu danych aplikacji za pomocą przechwytywania żądań; Umożliwia to dostęp do zasobów internetowych i lokalnych bez wyłączania CORS.
- interfejs TracingController API do zbierania informacji o śledzeniu WebView na potrzeby debugowania;
- interfejsy RenderProcess API do zarządzania usługami renderowania WebView oraz wykrywania sytuacji, gdy źle zachowujące się treści powodują, że renderowanie WebView przestaje odpowiadać;
- Zaktualizowano istniejące interfejsy API, aby uwzględnić adnotacje o możliwości zwrócenia wartości null (
@NonNull
,@Nullable
) i adnotacje o wątku (@UiThread
,@WorkerThread
).
Wersja 1.1.0-rc01
9 października 2019 r.
androidx.webkit:webkit:1.1.0-rc01
został zwolniony. Wersja 1.1.0-rc01 zawiera te zatwierdzenia:
Poprawki błędów
- Rozwiązaliśmy problem, który powodował awarię funkcji
setWebViewRenderProcessClient()
, jeśli przekazano do niej klienta o wartości null.
Wersja 1.1.0-beta01
5 września 2019 r.
androidx.webkit:webkit:1.1.0-beta01
został zwolniony. Zmiany zawarte w tej wersji znajdziesz tutaj.
Nowe funkcje
- Nowa opcja
InternalStoragePathHandler
w plikuWebViewAssetLoader
umożliwia wczytywanie plików z katalogu danych aplikacji.
Zmiany w interfejsie API
- Funkcja
ProxyConfig#getProxyRules()
zwraca teraz niezmienialną listę instancjiProxyRule
, która jest nową klasą zawierającą filtr schematu i odpowiadający mu adres URL proxy.
Poprawki błędów
WebViewAssetLoader
domyślnie ma typ MIME „text/plain” (a nie null), gdy nie można zgadnąć typu MIME na podstawie ścieżki pliku.WebViewAssetLoader
nie powoduje już błęduNullPointerException
podczas wczytywania plików z znakami specjalnymi w nazwach ścieżek.
Wersja 1.1.0-alpha02
7 sierpnia 2019 r.
androidx.webkit:webkit:1.1.0-alpha02
został zwolniony. Zmiany zawarte w tej wersji znajdziesz tutaj.
Nowe funkcje
WebViewAssetLoader
udostępnia interfejsPathHandler
, aby umożliwić aplikacjom tworzenie niestandardowych funkcji obsługi ścieżek.
Zmiany w interfejsie API
WebViewAssetLoader
jest teraz klasą ostateczną, ponieważ nie ma podklas.- Implementacje
WebViewAssetLoader#PathHandler
są teraz 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 znaków DIRECT.- Zaktualizowano istniejące interfejsy API, aby uwzględnić adnotacje o możliwości zwrócenia wartości null (
@NonNull
,@Nullable
) i adnotacje o wątku (@UiThread
,@WorkerThread
).
Wersja 1.1.0-alpha01
7 maja 2019 r.
androidx.webkit:webkit:1.1.0-alpha01
został zwolniony. Zmiany zawarte w tej wersji znajdziesz tutaj.
Nowe funkcje
- interfejsy API typu getter uzupełniające interfejsy
setWebViewClient()
isetWebChromeClient()
; - interfejs ProxyController API do ustawiania serwera proxy żądań sieciowych dla WebView w aplikacji.
- interfejs AssetLoader API do uproszczenia wczytywania zasobów i komponentów APK przez przechwytywanie żądań, co umożliwia dostęp do zasobów internetowych bez wyłączania CORS;
- interfejs TracingController API do zbierania informacji o śledzeniu WebView na potrzeby debugowania;
- interfejsy RenderProcess API do zarządzania usługami renderowania WebView oraz wykrywania sytuacji, gdy źle zachowujące się treści powodują, że renderowanie WebView przestaje odpowiadać;
Poprawki błędów
- Drobne poprawki formatowania dokumentacji istniejących interfejsów API.