Webkit

Pracuj z nowoczesnymi interfejsami WebView API na Androidzie 5 i nowszych.
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ą.

Tworzenie nowego zgłoszenia

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 w WebStorageCompat powinny być preferowane przed istniejącymi interfejsami API w android.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 w WebView. (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 sieciowy WebView za pomocą NetworkStatsManager/TrafficStats. Ta funkcja będzie dostępna tylko w wersji WebView M133. (Ica441, b/374932688)

Zmiany w interfejsie API

  • Zaktualizuj interfejs Prefetch API, zmieniając nazwę parametru PrefetchParameter na SpeculativeLoadingParamaters, wprowadzając nowy parametr PrefetchNetworkException, zastępując parametr PrefetchOperationCallback parametrem OutcomeReceiverCompat 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 tego WebSettings. 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 tego WebSettings. 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łania WebAuthnWebView 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 sieciWebView. Developers. Dzięki niemu deweloperzy mogą włączać i wyłączać wywołania WebAuthnWebView 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 API setAudioMutedisAudioMuted, które są analogiczne do wyciszania karty w Chrome.
  • Wprowadziliśmy URLUtilCompat, który obsługuje analizowanie nagłówków Content-Disposition, które używają atrybutu wartości zakodowanej filename* zgodnie z definicją w standardzie RFC 6266. Interfejs API zgodności udostępnia też bezpośrednio metodę analizowania nagłówka Content-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 i isAudioMuted do wyciszania (i włączania) WebViews. Ta metoda pozwoli Ci zapobiec odtwarzaniu dźwięku przez WebView. (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 w URLUtilCompat obsługuje analizowanie nagłówków Content-Disposition, które używają atrybutu wartości zakodowanej filename* zgodnie z definicją w normie RFC 6266. Interfejs API zgodności udostępnia też bezpośrednio metodę analizowania nagłówka Content-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

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.
  • 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.
  • 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.
  • 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 klasy UserAgentMetadata. (Ibf195)
  • Dodanie adnotacji ProfileStore, WebViewCompat#setProfileWebViewCompat.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 instancji WebView i później je pobierać, aby uzyskać dostęp do danych. Do zarządzania profilami za pomocą interfejsów API (getOrCreateProfile, getProfile, getAllProfileNamesdeleteProfile) służy klasa singleton ProfileStore. Klasa Profile będzie mieć różne interfejsy API, które pozwolą na uzyskanie powiązanych z tym profilem danych, takich jak nazwa, GeoLocationPermissions, ServiceWorkerController, CookieManagerWebStorage. Każdy WebView będzie domyślnie działał z profilem domyślnym, ale możesz to zmienić za pomocą funkcji WebViewCompat#setProfile. W związku z tym profil WebView można pobrać za pomocą funkcji 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 w WebView. Tej metody można też używać do wyłączania raportowania atrybucji w usłudze WebView. Dodatkowo dodaliśmy nowy interfejs API WebSettingsCompat#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 API WebSettingsCompat#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 do WebView.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

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 przez WebMessagePortCompat#postMessage, JsReplyProxy#postMessageWebViewCompat#postWebMessage, odbierania wartości ArrayBuffer z JavaScriptu przez WebMessagePortCompatWebMessageListener oraz odbierania wartości ArrayBuffer z JavaScriptu przez WebMessagePortCompat. Pamiętaj, że ten interfejs API będzie dostępny dopiero w wersji WebView 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 poziomu WebView, dodając do pliku manifestu aplikacji nowy parametr DropDataContentProvider, jak opisano w dokumentacji klasy.
  • Dodaliśmy interfejs API ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File), który umożliwia ustawienie katalogów podstawowych, których WebView będzie używać w ramach bieżącego procesu. Podobnie jak w przypadku wszystkich metod w interfejsie ProcessGlobalConfig, ta metoda musi być wywołana przed utworzeniem pierwszej instancji interfejsu WebView. 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órych WebView 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żywania DexGuard (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 z WebView, dodając nowe DropDataContentProvider 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 w CookieManager, który zwraca tylko atrybuty nazwa i wartość plików cookie.
  • WebSettingsCompat ma nowe metody włączania i wyłączania efektu EnterpriseAuthenticationAppLinkPolicy, jeśli został on ustawiony przez administratora w WebView, 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łówku X-Requested-With do źródeł z listy dozwolonych. Nagłówek był tradycyjnie wysyłany z każdą prośbą z adresu WebView.

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 funkcji WebViewFeature.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 wyrzuci IllegalStateException, jeśli zostanie wywołana więcej niż raz. Obiekty ProcessGlobalConfig 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ładowaniem WebView. WebView ma pewne parametry konfiguracji globalnej procesu, których nie można zmienić po załadowaniu WebView (np. katalog danych WebView). 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 wczytuje WebView 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 wersji WebView 105 i nowszych. Wcześniejsze wersje WebView 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 API getCookieInfo, który pobiera wszystkie atrybuty wszystkich plików cookie ustawionych w danym adresie URL. Różni się to od dotychczasowego interfejsu API getCookieCookieManager, 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ć efekt EnterpriseAuthenticationAppLinkPolicy, jeśli został ustawiony przez administratora w WebView. Ta funkcja umożliwia WebView 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łudze WebSettingsCompat zastępuje stare interfejsy API setForceDarksetForceDarkStrategy. 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ść parametru setReverseBypassEnabled na true. 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 komponencie WebViewCompat, aby pobrać wartość nagłówka X-Client-Data wysłanego przez WebView. 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 interfejs setSafeBrowsingWhitelist(). 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 API setSafeBrowsingWhitelist(). 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 teraz Set<String> reguł dozwolonych źródeł (wcześniej List<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 kontrolowania WebView 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()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 InternalStoragePathHandlerWebViewAssetLoader umożliwia wczytywanie plików z katalogu danych aplikacji.

Zmiany w interfejsie API

  • ProxyConfig#getProxyRules() zwraca teraz niemodyfikowalną listę instancji ProxyRule, 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łędu NullPointerException 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 interfejs PathHandler, 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 metody addDirect() i addDirect(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() i setWebChromeClient();
  • 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;