Webkit
Ostatnia aktualizacja | Wersja stabilna | Wersja kandydująca | Wersja Beta | Wersja alfa |
---|---|---|---|---|
12 lutego 2025 r. | 1.9.0 | - | 1.13.0-beta01 | - |
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 oddać głos w sprawie 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-beta01
12 lutego 2025 r.
androidx.webkit:webkit:1.13.0-beta01
został zwolniony. Wersja 1.13.0-beta01 zawiera te komity.
Zmiany w interfejsie API
- Dodaj sufiks Async do interfejsu API do wstępnego renderowania. Zmień nazwę dowolnego elementu danych na Nagłówek w sekcji
NoVarySearch
, aby odzwierciedlić nową nazwę. (Ie91c9) - Dodaj parametr wykonawcy do interfejsu API do wstępnego renderowania adresów URL. Ogranicz też wywoływanie interfejsu API tylko z wątku interfejsu użytkownika. (I50520)
- Dodaj interfejs API, aby skonfigurować konfigurację pamięci podręcznej dla żądań wstępnego pobierania profilu. Dotyczy to również żądań wstępnego renderowania inicjowanych z poziomu
WebViews
powiązanego z tym Profilem. (Iebb6e)
Poprawki błędów
- Zmień działanie parametru
URLUtilCompat.guessFileName
, aby używać parametrumimeType
tylko do sugerowania rozszerzenia nazw plików utworzonych na podstawie parametru adresu URL. (I53ecd, b/382864232)
Wersja 1.13.0-alpha03
15 stycznia 2025 r.
androidx.webkit:webkit:1.13.0-alpha03
został zwolniony. Wersja 1.13.0-alpha03 zawiera te komity.
Nowe funkcje
- Wprowadzenie nowego eksperymentalnego interfejsu API do wstępnego renderowania adresów URL, aby umożliwić programistom spekulacyjne wstępne renderowanie potencjalnych adresów URL, co spowoduje szybszą nawigację. (I0cfe7)
- Przedstawiamy zestaw nowych interfejsów API do usuwania danych przeglądania przechowywanych przez
WebView
. Nowe interfejsy API wWebStorageCompat
powinny być preferowane przed istniejącymi interfejsami 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 wszystkich zainstalowanych usług workerów. Jeśli w przyszłości zostaną wprowadzone nowe interfejsy API pamięci, zostaną one zaktualizowane, aby uwzględniały usunięcie z pamięci. (Iad54f, b/382273208) - Dodaj interfejs API
setPartitionedCookiesEnabled
. Umożliwi to deweloperom włączanie i wyłączanie plików cookie wWebView
. (Ic506a, b/364904765)
Zmiany w interfejsie API
- Zmień wymagania dotyczące wątku, aby interfejs API Wstępna analiza mogła wywoływać tylko wątek interfejsu użytkownika. (I866b5)
- Zaktualizuj metody
WebAuthn
, aby podkreślić, że muszą być wywoływane w wątku interfejsu. To wymaganie jest już egzekwowane przez implementację, a ta zmiana tylko dodaje odpowiednią adnotację. (I6d6ba)
Wersja 1.13.0-alpha02
11 grudnia 2024 r.
androidx.webkit:webkit:1.13.0-alpha02
został zwolniony. Wersja 1.13.0-alpha02 zawiera te komity.
Nowe funkcje
- Dodaj interfejs socket tagging API do
WebView
, aby uwzględnić ruch sieciowyWebView
za pomocąNetworkStatsManager
/TrafficStats
. Ta funkcja będzie dostępna tylko w wersjiWebView
M133. (Ica441, b/374932688)
Zmiany w interfejsie API
- Zaktualizuj interfejs Prefetch API, zmieniając nazwę parametru
PrefetchParameter
naSpeculativeLoadingParamaters
, wprowadzając nowy parametrPrefetchNetworkException
, zastępując parametrPrefetchOperationCallback
parametremOutcomeReceiverCompat
i zmieniając javadoc. (If5072) - Pobieranie informacji diagnostycznych z interfejsu WebView async startup API.
- Dodać opcję, która pozwoli aplikacjom wywoływać tylko funkcję init, która nie blokuje wątku interfejsu użytkownika. (I9bf2b)
Poprawki błędów
- Biblioteka ta korzysta teraz z adnotacji JSpecify dotyczących nullowania, które są używane w zależności od typu. Deweloperzy Kotlina powinni używać tych argumentów kompilatora, aby wymusić prawidłowe użycie:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(I0e4c5, b/326456246)
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
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 pamięci podręcznej: dodano interfejs API do czyszczenia 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 w przypadku 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 funkcji 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, gdy korzystasz z R8 z AGP 7.3 lub nowszej wersji (np. R8 w wersji 3.3) oraz we wszystkich wersjach kompilacji, gdy korzystasz z AGP 8.1 lub nowszej wersji (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 funkcji wczytywania spekulacyjnego dla tych ustawień. 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 odpowiednich przypadkach opisane za pomocą
@UiThread
. (I6c7e0), (I44541) - Metody bezpieczne w wątku są teraz dokumentowane za pomocą
@AnyThread
. (I70189) - Zwiększono wartość 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 aplikacji
WebView. Developers
. Użytkownicy mogą włączać i wyłączać wywołaniaWebAuthn
w aplikacjiWebView
za pomocą interfejsuWebSettingsCompat#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 zatwierdzenia.
Ważne zmiany od wersji 1.9.0
- Dodaliśmy do WebSettingsCompat nowy interfejs API, który umożliwia kontrolowanie eksperymentalnego zachowania interfejsu API 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 wprowadzona usługa 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 działać 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 w 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 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 później je pobierać, 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 mieć różne interfejsy API, które pozwolą na uzyskanie powiązanych z tym profilem danych, 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ą funkcjiWebViewCompat#setProfile
. W związku z tym profilWebView
można pobrać za pomocą funkcjiWebViewCompat#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 w usłudzeWebView
. 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 user-agenta w WebView. Interfejs ten służy do wypełniania podpowiedzi klienta user-agenta. Dodaliśmy też nowy interfejs APIWebSettingsCompat#getUserAgentMetadata
, który umożliwia pobieranie bieżących zastąpień user-agenta. 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 działać 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
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 zWebView
, dodając do pliku manifestu aplikacji nowy elementDropDataContentProvider
, jak opisano 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 do pliku manifestu aplikacji noweDropDataContentProvider
. (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 commity.
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 commity.
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 nastąpiło 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 w przypadku każdego żądania z domenyWebView
.
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 commity.
Poprawki błędów
- Naprawiono błąd
NullPointerException
w funkcjiWebViewFeature.isStartupFeatureSupported(Context, String)
podczas korzystania z pakietu 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 nastąpiło 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 konkretnym adresie URL. Różni się to od dotychczasowego 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 pozwala aplikacjiWebView
otworzyć aplikację uwierzytelniającą zamiast 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 commity.
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 zatwierdzenia.
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ż ciemny motyw nie jest dostępny na tych urządzeniach. (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 obejście. Ustawienie opcji pomijania wstecznego 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ć swój kod, aby uniknąć nieobejmującej terminologii, zachowując jednocześnie obsługę tych samych wersji pakietu SDK Androida 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 interfejs APIsetSafeBrowsingWhitelist()
. 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 zatwierdzenia.
Najważniejsze zmiany od wersji 1.2.0
- Interfejs ForceDarkStrategy API zapewnia większą kontrolę nad przyciemnieniem WebView (przyciemnienie zawartości CSS/internetu w porównaniu z automatycznym przyciemnieniem).
- 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 w internecie 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>
dozwolonych zasad 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 strategii ciemnej 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 commity.
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 WebViews aplikacji.
- interfejs WebViewAssetLoader API do uproszczenia wczytywania komponentów, zasobów i plików APK z katalogu danych aplikacji za pomocą przechwytywania żądań; Dzięki temu można uzyskać dostęp do zasobów internetowych i lokalnych bez wyłączania CORS.
- 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 funkcjiWebViewAssetLoader
umożliwiająca wczytywanie plików z katalogu danych aplikacji.
Zmiany w interfejsie API
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ędniały 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 WebViews 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;
- 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 w formatowaniu dokumentacji istniejących interfejsów API;