Webkit
Ostatnia aktualizacja | Wersja stabilna | Wersja kandydująca | Wersja Beta | Wersja alfa |
---|---|---|---|---|
15 stycznia 2025 r. | 1.9.0 | - | - | 1.13.0-alpha03 |
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. Daj nam znać, jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz zagłosować na istniejący problem, klikając przycisk z gwiazdką.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.13
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 komisy.
Nowe funkcje
- Wprowadzenie nowego eksperymentalnego interfejsu API do wstępnego renderowania adresów URL, aby umożliwić programistom wstępny wstępny renderowanie adresów URL kandydatów, 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 w tle. Jeśli w przyszłości zostaną wprowadzone nowe interfejsy API pamięci, zostaną one zaktualizowane, aby uwzględniały usunięcie 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ępnego pobierania był wywoływany tylko w wątku 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
- Ta biblioteka korzysta teraz z adnotacji JSpecify dotyczących nullowości, które są używane w ramach 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
do asynchronicznego uruchamiania. (I94b8a) - Wstępne pobieranie adresów URL w profilu: wprowadziliśmy nowy interfejs API w profilu, aby umożliwić deweloperom uruchamianie wstępnego pobierania adresów URL. Czyszczenie danych wyprzedzających: dodano interfejs API do czyszczenia trwających procesów wyprzedzających. (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 komity.
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 funkcji wczytywania spekulacyjnego w przypadku tegoWebSettings
. Obecnie dostępna jest tylko opcja Przedrenderowanie. 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
wWebView
w swoich aplikacjach 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 zatwierdzenia.
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 we wszystkich wersjach kompilacji przy użyciu 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 funkcji wczytywania spekulacyjnego dla tych ustawień sieci. Obecnie dostępna jest tylko opcja Przedrenderowanie. 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
WebView. Developers
. Dzięki niemu deweloperzy 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 komity.
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 ostateczny, ponieważ nie można go podklasyfikować. (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 normie 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
- Dodano nowy interfejs API do WebSettingsCompat, aby umożliwić kontrolowanie eksperymentalnego zachowania interfejsu Android WebView Media Integrity API poprzez całkowite wyłączenie interfejsu API lub ograniczenie udostępniania 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 wersji
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, 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.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 wczytaniem 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 klienta 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ń klienta użytkownika. Zachęcamy, aby aplikacje używały nowego interfejsu API do ustawiania odpowiednich wartości zastąpienia, 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ą wystąpienia wartości null w interfejsie 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 w różnych profilach
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 (getOrCreateProfile
,getProfile
,getAllProfileNames
ideleteProfile
) służy klasa singletonProfileStore
. 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 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 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
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 w 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 nowy parametrDropDataContentProvider
, 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 interfejsieProcessGlobalConfig
, ta metoda musi być wywołana przed utworzeniem pierwszej instancji interfejsuWebView
. Ta metoda została dodana, aby umożliwić platformie Android dostosowywanie 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 commity.
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
, która powoduje 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 commity.
Poprawki błędów
- Napraw błędy 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 udostępnianie ustawień konfiguracji, które muszą zostać określone przed załadowaniem WebView, takich jak sufiks katalogu danych WebView. Konfiguracja powinna zostać skonfigurowana i zaaplikowana 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 dotychczasowego interfejsu getCookie 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óre nie są zarządzane przez zasady korporacyjne.- 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
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 mają już żadnych ograniczeń dotyczących liczby wywołań metod 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 zaaplikowana 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) - Dodanie 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 w 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 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 umożliwiaWebView
otwieranie aplikacji uwierzytelniającej zamiast otwierania adresu URL uwierzytelniania. Ta funkcja nie ma wpływu na urządzenia, które nie są zarządzane przez zasady korporacyjne.
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 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 pobrać 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 parametru „Odwrót” na „Prawda” oznacza, że ustawienia serwera proxy będą używane tylko w przypadku 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 jednocześnie obsługę tych samych wersji pakietów SDK i WebView co starszy interfejs 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 commity.
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 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ą 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 oddzielnym procesie piaskownicy 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ł, że
WebMessageListener
czasami ulegał awarii 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 przyciemnienie automatyczne).WebMessageListener
Interfejsy API zapewniają prosty i bezpieczny mechanizm nawiązywania komunikacji między treściami internetowymi a aplikacją z wbudowanym 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 źródeł (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 ciemnych 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 CSS/treści w internecie w opozycji do automatycznego przyciemnienia).WebMessageListener
Interfejsy API zapewniają prosty i bezpieczny mechanizm nawiązywania komunikacji między treściami internetowymi a aplikacją z wbudowanym 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 trybie ciemnym.
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ń; Dzięki temu można uzyskać 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 API RenderProcess 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 funkcja
InternalStoragePathHandler
wWebViewAssetLoader
umożliwia wczytywanie plików z katalogu danych aplikacji.
Zmiany w interfejsie API
ProxyConfig#getProxyRules()
zwraca teraz niemodyfikowalną 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że 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
- Klasa
WebViewAssetLoader
jest teraz klasą ostateczną, ponieważ nie jest przeznaczona do podklasyfikowania. - 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 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 w formatowaniu dokumentacji istniejących interfejsów API;