WebKit

Możliwość korzystania z nowoczesnych interfejsów API WebView na Androidzie 5 lub nowszym.
Najnowsza aktualizacja Wersja stabilna Kandydat do wydania Wersja Beta Wydanie alfa
4 września 2024 r. 1.9.0 1.12.0-rc01 - -

Deklarowanie zależności

Aby dodać zależność w Webkit, musisz dodać repozytorium Google Maven do swojego w projektach AI. Zapoznaj się z repozytorium Google Maven. .

Dodaj zależności 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ć Jetpack. Daj nam znać, jeśli odkryjesz nowe problemy jak ulepszyć tę bibliotekę. Przyjrzyj się istniejące problemy w tej bibliotece, zanim utworzysz nową. Możesz zagłosować nad istniejącym problemem przez klikając przycisk gwiazdki.

Tworzenie nowego numeru

Zobacz dokumentację narzędzia Issue Tracker. .

Wersja 1.12

Wersja 1.12.0-rc01

4 września 2024 r.

Usługa androidx.webkit:webkit:1.12.0-rc01 została zwolniona. Ta wersja nie zawiera żadnych zmian w porównaniu z wersją 1.12.0-beta01.

Wersja 1.12.0-beta01

21 sierpnia 2024 r.

Usługa androidx.webkit:webkit:1.12.0-beta01 została zwolniona. Wersja 1.12.0-beta01 zawiera te zatwierdzenia.

Poprawki błędów

  • Usunęliśmy ręczne dodawanie informacji o dostępie do nowych interfejsów API platformy, ponieważ dzieje się to automatycznie przez modelowanie API w przypadku korzystania z R8 z pakietem AGP w wersji 7.3 lub nowszej (np. R8 w wersji 3.3) oraz wszystkich kompilacji z pakietem AGP 8.1 lub nowszym (np. D8 w wersji 8.1). Klientom, którzy nie korzystają z pakietu AGP, zalecamy zaktualizowanie go do wersji D8 w wersji 8.1 lub nowszej. Więcej szczegółów znajdziesz w tym artykule. (Ia60e0, b/345472586)

Wersja 1.12.0-alfa02

12 czerwca 2024 r.

Usługa androidx.webkit:webkit:1.12.0-alpha02 została zwolniona. Wersja 1.12.0-alfa02 zawiera te zatwierdzenia.

Nowe funkcje

  • Aby włączyć lub wyłączyć BackForwardCache, dodaj do WebSettingsCompat nowy interfejs API. Ten interfejs API jest w wersji eksperymentalnej i można go w przyszłości zmienić. (I64a38)
  • Dodaj do WebSettingsCompat nowy interfejs API, aby kontrolować ładowanie spekulacyjne tych ustawień WebSettings. Na razie dostępne jest tylko wstępne renderowanie. Ten interfejs API jest w wersji eksperymentalnej i można go w przyszłości zmienić. (I13962)

Zmiany interfejsu API

  • Niektóre metody zostały teraz udokumentowane za pomocą atrybutu @UiThread (w stosownych przypadkach). (I6c7e0), (I44541)
  • Metody zapewniające bezpieczeństwo wątków zostały omówione w dokumencie @AnyThread. (I70189)
  • Zwiększam minSdkVersion z 19 do 21. (Id7a43).

Wersja 1.12.0-alpha01

17 kwietnia 2024 r.

Usługa androidx.webkit:webkit:1.12.0-alpha01 została zwolniona. Wersja 1.12.0-alfa01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodaliśmy nowy interfejs API, aby włączyć uwierzytelnianie w internecie w języku: WebView. Developers, i umożliwić włączenie lub wyłączenie wywołań WebAuthn w WebView dla aplikacji korzystających z WebSettingsCompat#setWebAuthenticationSupport. (I8187F)

Wersja 1.11

Wersja 1.11.0

1 maja 2024 r.

Usługa androidx.webkit:webkit:1.11.0 została zwolniona. Wersja 1.11.0 zawiera te zatwierdzenia.

Ważne zmiany wprowadzone od wersji 1.10.0

  • Zezwalaj aplikacjom na sterowanie odtwarzaniem dźwięku w WebView za pomocą nowych interfejsów API setAudioMuted i isAudioMuted, które działają analogicznie do wyciszania karty w Chrome.
  • Wprowadzenie funkcji URLUtilCompat, która obsługuje analizę nagłówków Content-Disposition korzystających z atrybutu wartości zakodowanej filename* zgodnie z definicją podaną w RFC 6266. Interfejs API zgodności bezpośrednio udostępnia też metodę analizowania nagłówka Content-Disposition, w której sugerowana nazwa pliku na podstawie adresu URL i typu MIME nie jest potrzebna.

Wersja 1.11.0-rc01

3 kwietnia 2024 r.

Usługa androidx.webkit:webkit:1.11.0-rc01 została zwolniona. Ta wersja nie zawiera żadnych zmian w porównaniu z wersją 1.11.0-beta01.

Wersja 1.11.0-beta01

20 marca 2024 r.

Wersja androidx.webkit:webkit:1.11.0-beta01 została wydana bez istotnych zmian. Wersja 1.11.0-beta01 zawiera te zatwierdzenia.

Wersja 1.11.0-alfa02

21 lutego 2024 r.

Usługa androidx.webkit:webkit:1.11.0-alpha02 została zwolniona. Wersja 1.11.0-alfa02 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaj metody setAudioMuted i isAudioMuted do wyciszania (i wyłączania) wyciszenia WebViews. Ta metoda pozwoli Ci uniemożliwić odtwarzanie dźwięku z urządzenia WebView. (IE7a33)

Zmiany interfejsu API

  • Pole URLUtilCompat jest ostateczne, ponieważ nie powinno być podklasyfikowane. (I49ec1).

Wersja 1.11.0-alpha01

7 lutego 2024 r.

Usługa androidx.webkit:webkit:1.11.0-alpha01 została zwolniona. Wersja 1.11.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaj zgodność aplikacji URLUtil.guessFileName. Wersja zgodności w URLUtilCompat obsługuje analizowanie nagłówków Content-Disposition korzystających z atrybutu wartości zakodowanej filename* zgodnie z definicją podaną w RFC 6266. Interfejs API zgodności bezpośrednio udostępnia też metodę analizowania nagłówka Content-Disposition, w której sugerowana nazwa pliku na podstawie adresu URL i typu MIME nie jest potrzebna. (If6ae7, b/309927164)

Wersja 1.10

Wersja 1.10.0

24 stycznia 2024 r.

Usługa androidx.webkit:webkit:1.10.0 została zwolniona. Wersja 1.10.0 zawiera te zatwierdzenia.

Ważne zmiany wprowadzone od wersji 1.9.0

  • W interfejsie WebSettingsCompat dodaliśmy nowy interfejs API, aby kontrolować eksperymentalne działanie interfejsu Android WebView Media Integrity API przez całkowite wyłączenie interfejsu API lub ograniczenie udostępniania tożsamości aplikacji w odpowiedzi interfejsu API. To ustawienie można przełączać dla wszystkich źródeł i dla każdego źródła.

Wersja 1.10.0-rc01

10 stycznia 2024 r.

Usługa androidx.webkit:webkit:1.10.0-rc01 została zwolniona. Ta wersja nie zawiera żadnych zmian w porównaniu z wersją 1.10.0-beta01.

Wersja 1.10.0-beta01

13 grudnia 2023 r.

Usługa androidx.webkit:webkit:1.10.0-beta01 została zwolniona. Wersja 1.10.0-beta01 zawiera te zatwierdzenia.

  • Brak zmian funkcjonalnych od wersji 1.10.0-alpha01.

Wersja 1.10.0-alpha01

29 listopada 2023 r.

Usługa androidx.webkit:webkit:1.10.0-alpha01 została zwolniona. Wersja 1.10.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

  • Do WebSettingsCompat dodaliśmy nowy interfejs API, aby kontrolować eksperymentalne zachowanie interfejsu Android WebView Media Integrity API przez całkowite wyłączenie interfejsu API lub ograniczenie udostępniania tożsamości aplikacji w odpowiedzi interfejsu API. To ustawienie można przełączać dla wszystkich źródeł i dla każdego źródła.

Wersja 1.9

Wersja 1.9.0

29 listopada 2023 r.

Usługa androidx.webkit:webkit:1.9.0 została zwolniona. Wersja 1.9.0 zawiera te zatwierdzenia.

Ważne zmiany wprowadzone od wersji 1.8.0

  • Dodano nowy wieloprofilowy interfejs API dla WebViews.
  • Dodano interfejs API do wstrzykiwania i uruchamiania JavaScriptu przed wczytaniem strony.
    • Interfejs API WebViewCompat#addDocumentStartJavascript umożliwia aplikacjom wstrzykiwanie skryptów w obiekcie WebView, które są uruchamiane przed wykonaniem jakichkolwiek skryptów na stronie. Interfejs API pozwala aplikacji określić docelową listę źródeł, dla których skrypt ma zostać włączony, dzięki czemu będzie on działał tylko na odpowiednich stronach. W odróżnieniu od WebView#optionJavascript ten interfejs API umożliwia wykonywanie skryptów w umieszczonych elementach iframe podczas ich wczytywania. Aplikacje mogą używać tego nowego interfejsu API w połączeniu z funkcją WebViewCompat#addWebMessageListener, aby w niezawodny sposób skonfigurować dwukierunkową komunikację z JavaScriptem na stronie.
  • Dodano interfejsy API, które modyfikują sposób rejestrowania zdarzeń atrybucji w Piaskownicy prywatności.
    • Wprowadziliśmy nowy interfejs API WebSettingsCompat#setAttributionRegistrationBehavior, który umożliwia deweloperom określenie, czy źródła i reguły atrybucji mają być rejestrowane w komponencie WebView jako pochodzące z samej aplikacji czy pochodzące z treści internetowych. Tej metody można też używać do wyłączania raportowania atrybucji w komponencie WebView. Ponadto dodaliśmy nowy interfejs API WebSettingsCompat#getAttributionRegistrationBehavior, aby umożliwić korzystanie z bieżącego działania.
    • Więcej informacji znajdziesz w dokumentacji Piaskownicy prywatności.
  • Dodano interfejsy API do zastępowania metadanych klienta użytkownika na potrzeby wskazówek dotyczących klienta.
    • Wprowadziliśmy nowy interfejs API WebSettingsCompat#setUserAgentMetadata, który zastępuje metadane klienta użytkownika w komponencie WebView służącym do wypełniania wskazówek dotyczących klienta użytkownika. Dodaliśmy też kolejny nowy interfejs API WebSettingsCompat#getUserAgentMetadata, który ma pobierać aktualne zastąpienia klienta użytkownika. Zachęcamy aplikacje, aby używały nowego interfejsu API do ustawiania odpowiednich wartości zastąpień za każdym razem, gdy aplikacja zmieni domyślny ciąg znaków klienta użytkownika za pomocą WebSettings.setUserAgentString, aby mieć pewność, że w każdej sytuacji są używane prawidłowe wartości.

Wersja 1.9.0-rc01

15 listopada 2023 r.

Usługa androidx.webkit:webkit:1.9.0-rc01 została zwolniona. Ta wersja nie zawiera żadnych zmian w porównaniu z wersją 1.9.0-beta01.

Wersja 1.9.0-beta01

1 listopada 2023 roku

Usługa androidx.webkit:webkit:1.9.0-beta01 została zwolniona. Wersja 1.9.0-beta01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Rozwiąż problem z dopuszczaniem wartości null interfejsu API metadanych klienta użytkownika. Aktualizujemy klasę BrandVersion, aby używała wzorca konstruktora i utrzymywała spójność pobierania i metody ustawiającej klasy UserAgentMetadata. (Ibf195).
  • Dodaje adnotacje ProfileStore, WebViewCompat#setProfile i WebViewCompat.getProfile z: @UiThread. (I499b2)

Wersja 1.9.0-alpha01

18 października 2023 r.

Usługa androidx.webkit:webkit:1.9.0-alpha01 została zwolniona. Wersja 1.9.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaliśmy wieloprofilowy interfejs API, który umożliwia rozróżnienie sesji przeglądania w WebViews.Każdy profil ma własne dane (np. pliki cookie). Możesz tworzyć profile, przypisywać je do WebView instancji i pobierać je później, jeśli potrzebujesz dostępu do danych. Istnieje pojedyncza klasa ProfileStore, która ułatwia zarządzanie profilami przez ich tworzenie lub usuwanie za pomocą interfejsów API. getOrCreateProfile, getProfile, getAllProfileNames i deleteProfile. Klasa Profile będzie miała różne interfejsy API do pobierania danych powiązanych z tym profilem, np. jego nazwy GeoLocationPermissions, ServiceWorkerController, CookieManager i WebStorage. Każdy interfejs WebView będzie domyślnie uruchomiony z profilem domyślnym, ale możesz to zmienić za pomocą opcji WebViewCompat#setProfile. W związku z tym profil użytkownika WebView można pobrać za pomocą narzędzia WebViewCompat#getProfile. (I32d22)
  • Dodaj interfejsy API, aby zmienić sposób rejestrowania zdarzeń Attribution Reporting. Wprowadziliśmy nowy interfejs API WebSettingsCompat#setAttributionRegistrationBehavior, który umożliwia deweloperom określenie, czy źródła i reguły mają być rejestrowane jako pochodzące z samej aplikacji czy pochodzące z treści internetowej w WebView. Tej metody można też użyć do wyłączenia raportów atrybucji na koncie WebView. Ponadto dodaliśmy nowy interfejs API WebSettingsCompat#getAttributionRegistrationBehavior, aby umożliwić korzystanie z bieżącego działania. Więcej informacji znajdziesz w dokumentacji Piaskownicy prywatności. (I661f2)
  • Dodaj interfejsy API, aby zastąpić metadane klienta użytkownika. Wprowadziliśmy nowy interfejs API WebSettingsCompat#setUserAgentMetadata, który zastępuje metadane klienta użytkownika w komponencie WebView, który służy do wypełniania wskazówek dotyczących klienta użytkownika. Dodaliśmy też kolejny nowy interfejs API WebSettingsCompat#getUserAgentMetadata, który ma pobierać aktualne zastąpienia klienta użytkownika. Zachęcamy aplikacje, aby używały nowego interfejsu API do ustawiania odpowiednich wartości zastępowania, zamiast polegać na zmianie klienta użytkownika. (I74500)
  • Dodaj interfejs API, aby wstrzykiwać kod JavaScript, który ma być uruchamiany podczas wczytywania strony. Interfejs API WebViewCompat.addDocumentStartJavascript umożliwia aplikacjom wstrzykiwanie skryptów do komponentu WebView, który będzie uruchamiany przed wykonaniem jakichkolwiek skryptów na stronie. Interfejs API pozwala aplikacji określić docelową listę źródeł, dla których skrypt ma zostać włączony, dzięki czemu będzie on działał tylko na odpowiednich stronach. W przeciwieństwie do interfejsu WebView.evaluateJavascript ten interfejs API pozwala na wykonywanie skryptów w umieszczonych elementach iframe podczas ich wczytywania. (Ide063).

Wersja 1.8

Wersja 1.8.0

6 września 2023 r.

Usługa androidx.webkit:webkit:1.8.0 została zwolniona. Wersja 1.8.0 zawiera te zatwierdzenia.

Ważne zmiany wprowadzone od wersji 1.7.0

Wersja 1.8.0-rc01

9 sierpnia 2023 r.

Usługa androidx.webkit:webkit:1.8.0-rc01 została udostępniona bez zmian od 1.8.0-beta01. Wersja 1.8.0-rc01 zawiera te zatwierdzenia.

Wersja 1.8.0-beta01

26 lipca 2023 r.

Usługa androidx.webkit:webkit:1.8.0-beta01 została udostępniona bez zmian od 1.8.0-alpha01. Wersja 1.8.0-beta01 zawiera te zatwierdzenia.

Wersja 1.8.0-alpha01

7 czerwca 2023 r.

Usługa androidx.webkit:webkit:1.8.0-alpha01 została zwolniona. Wersja 1.8.0-alfa01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Zobacz sekcję Twój wkład zewnętrzny.

Treści tłumaczone przez użytkowników zewnętrznych

  • Dodaj obsługę przekazywania ArrayBuffer w polach WebMessagePortCompat#postMessage, JsReplyProxy#postMessage i WebViewCompat#postWebMessage, odbierania ArrayBuffer z JavaScriptu przez WebMessagePortCompat i WebMessageListener oraz odbierania możliwych do przeniesienia ArrayBuffer z JavaScriptu przez WebMessagePortCompat. Ten interfejs API będzie dostępny tylko od WebView w wersji 116. (IE7567, b/251152171)

Wersja 1.7

Wersja 1.7.0

24 maja 2023 r.

Usługa androidx.webkit:webkit:1.7.0 została zwolniona. Wersja 1.7.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.6.0

  • Dodaliśmy obsługę przeciągania obrazów w wersji WebView. Aby umożliwić użytkownikom przeciąganie obrazów z WebView, dodaj nową wersję DropDataContentProvider do pliku manifestu aplikacji w sposób opisany w dokumentacji zajęć.
  • Dodaliśmy interfejs API ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File), którego można używać do ustawiania katalogów podstawowych, których WebView będzie używać w bieżącym procesie. Tak jak w przypadku wszystkich metod w ProcessGlobalConfig, ta metoda musi zostać wywołana przed utworzeniem pierwszego wystąpienia WebView. Dodaliśmy tę metodę, aby zapewnić platformie Androida możliwość dostosowywania ustawień WebView. Ta metoda nie jest zalecana do zastosowań ogólnych.

Wersja 1.7.0-rc01

10 maja 2023 r.

Usługa androidx.webkit:webkit:1.7.0-rc01 została udostępniona bez zmian od 1.7.0-beta01. Wersja 1.7.0-rc01 zawiera te zatwierdzenia.

Wersja 1.7.0-beta01

5 kwietnia 2023 r.

Usługa androidx.webkit:webkit:1.7.0-beta01 została zwolniona. Wersja 1.7.0-beta01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Mała zmiana w flagi funkcji i nazwie metody oraz sprawiła, że setDirectoryBasePaths() akceptuje plik zamiast ciągu znaków (Ib0d0a)

Wersja 1.7.0-alpha03

8 marca 2023 r.

Usługa androidx.webkit:webkit:1.7.0-alpha03 została zwolniona. Wersja 1.7.0-alfa03 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodaj interfejs API ProcessGlobalConfig#setDirectoryBasePath(String, String), którego można użyć do ustawienia katalogów podstawowych, których WebView będzie używać w bieżącym procesie. (Ibd1a1, b/250553687)

Poprawki błędów

  • Popraw nieprawidłową regułę ProGuard, która powoduje błędy kompilacji podczas korzystania z narzędzia DexGuard (Ia65c2, b/270034835)

Wersja 1.7.0-alpha02

8 lutego 2023 r.

Usługa androidx.webkit:webkit:1.7.0-alpha02 została zwolniona. Wersja 1.7.0-alfa02 zawiera te zatwierdzenia.

Poprawki błędów

  • Błędy w dokumentacji aplikacji DropDataContentProvider.

Wersja 1.7.0-alpha01

25 stycznia 2023 r.

Usługa androidx.webkit:webkit:1.7.0-alpha01 została zwolniona. Wersja 1.7.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodajemy obsługę przeciągania obrazów w usłudze WebView. Aby umożliwić użytkownikom przeciąganie obrazów z WebView, dodaj nową wartość DropDataContentProvider do pliku manifestu aplikacji. (05a1a6)

Wersja 1.6

Wersja 1.6.1

22 marca 2023 r.

Usługa androidx.webkit:webkit:1.6.1 została zwolniona. Wersja 1.6.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawianie błędu analizy ProGuard (Ia65c2)

Wersja 1.6.0

25 stycznia 2023 r.

Usługa androidx.webkit:webkit:1.6.0 została zwolniona. Wersja 1.6.0 zawiera te zatwierdzenia.

Ważne zmiany wprowadzone od wersji 1.5.0

  • Dodaliśmy nowy interfejs API ProcessGlobalConfig, dzięki któremu aplikacje mogą określać ustawienia konfiguracyjne, które należy skonfigurować przed wczytaniem WebView, np. sufiksu katalogu danych WebView. Konfigurację należy skonfigurować i zastosować jak najwcześniej podczas uruchamiania aplikacji, aby mieć pewność, że nastąpi to, zanim inny wątek będzie mógł wywołać metodę, która wczytuje do procesu WebView.
  • Dodano nowy interfejs API CookieManagerCompat w celu rozwinięcia android.webkit.CookieManager za pomocą nowej metody getCookieInfo, która pobiera wszystkie atrybuty wszystkich plików cookie ustawionych pod określonym adresem URL. Różni się to od obecnego interfejsu API getCookie w CookieManager, który zwraca tylko nazwy i atrybuty wartości plików cookie.
  • Usługa WebSettingsCompat udostępnia nowe metody włączania/wyłączania działania funkcji EnterpriseAuthenticationAppLinkPolicy skonfigurowane przez administratora w WebView oraz uzyskiwania bieżącego ustawienia. Dzięki tej funkcji komponent WebView może otwierać aplikację uwierzytelniania zamiast adresu URL uwierzytelniania. Ta funkcja nie ma wpływu na urządzenia, które nie są zarządzane przez zasady przedsiębiorstwa.
  • Dodanie nowego interfejsu API do źródła danych WebSettingsCompat, aby umożliwić aplikacjom jawne wysyłanie nazwy pakietu aplikacji w nagłówku X-Requested-With do źródeł znajdujących się na liście dozwolonych. Nagłówek był tradycyjnie wysyłany w przypadku każdego żądania z WebView.

Wersja 1.6.0-rc01

11 stycznia 2023 r.

Usługa androidx.webkit:webkit:1.6.0-rc01 została zwolniona. Wersja 1.6.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Usunięto NullPointerException w WebViewFeature.isStartupFeatureSupported(Context, String) w przypadku działania z pakietem SDK < L. (IC7292)

Wersja 1.6.0-beta01

7 grudnia 2022 r.

Usługa androidx.webkit:webkit:1.6.0-beta01 została zwolniona. Wersja 1.6.0-beta01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Metoda ProcessGlobalConfig została zmieniona, tak aby korzystała ze zwykłego konstruktora i statycznej metody stosowania. Metodę apply należy wywołać tylko raz na proces (jak najwcześniej), a jeśli zostanie wywołana więcej niż raz, wywoła IllegalStateException. Obiekty ProcessGlobalConfig nie mają już żadnych ograniczeń dotyczących liczby wywołań funkcji ustawiających. (I456c3)

Wersja 1.6.0-alpha03

9 listopada 2022 r.

Usługa androidx.webkit:webkit:1.6.0-alpha03 została zwolniona. Wersja 1.6.0-alfa03 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaj klasę ProcessGlobalConfig, która umożliwia użytkownikom ustawianie globalnej konfiguracji procesu przed wczytaniem WebView. WebView zawiera globalne parametry konfiguracji procesu, których nie można zmienić po załadowaniu obiektu WebView (np. katalogu danych WebView). Ta klasa umożliwia aplikacjom ustawianie tych parametrów. Konfigurację należy skonfigurować i zastosować jak najwcześniej podczas uruchamiania aplikacji, aby mieć pewność, że nastąpi to, zanim inny wątek będzie mógł wywołać metodę, która wczytuje do procesu WebView. (I7c0e0, b/250553687)
  • Dodanie nowego interfejsu API, aby umożliwić aplikacjom jawne wysyłanie nazwy pakietu aplikacji w nagłówku X-Request-With do źródeł znajdujących się na liście dozwolonych. Nagłówek był tradycyjnie wysyłany w przypadku każdego żądania z WebView. (I0adfe, b/226552535)

Zmiany interfejsu API

  • Interfejs WebSettingsCompat#setAlgorithmicDarkeningAllowed API jest obsługiwany na wszystkich wersjach Androida w WebView w wersji 105 i nowszych. Poprzednie wersje WebView obsługiwały interfejs API tylko na Androidzie Q i nowszych. W związku z tym ten interfejs API nie jest już oznaczony jako @RequiresApi(Build.VERSION_CODES.Q). (I3ac1d),

Wersja 1.6.0-alpha02

24 października 2022 r.

Usługa androidx.webkit:webkit:1.6.0-alpha02 została zwolniona. Wersja 1.6.0-alfa02 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaje nową klasę CookieManagerCompat wraz z interfejsem API getCookieInfo, który pobiera wszystkie atrybuty wszystkich plików cookie ustawionych pod określonym adresem URL. Różni się to od obecnego interfejsu API getCookie w CookieManager, który zwraca tylko nazwy i atrybuty wartości plików cookie. (I07365, b/242161756)

Wersja 1.6.0-alpha01

24 sierpnia 2022 r.

Usługa androidx.webkit:webkit:1.6.0-alpha01 została zwolniona. Wersja 1.6.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano interfejsy API w WebSettingsCompat, aby włączyć lub wyłączyć efekt działania EnterpriseAuthenticationAppLinkPolicy, jeśli został ustawiony przez administratora w domenie WebView. Dzięki tej funkcji WebView może otwierać aplikację do uwierzytelniania zamiast adresu URL uwierzytelniania. Ta funkcja nie ma wpływu na urządzenia, które nie są zarządzane przez zasady przedsiębiorstwa.

Wersja 1.5.0

Wersja 1.5.0

24 sierpnia 2022 r.

Usługa androidx.webkit:webkit:1.5.0 została zwolniona. Wersja 1.5.0 zawiera te zatwierdzenia.

Ważne zmiany wprowadzone od wersji 1.4.0

  • Nowy interfejs API setAlgorithmicDarkeningAllowed w domenie WebSettingsCompat zastępuje stare interfejsy API setForceDark i setForceDarkStrategy. Aplikacje kierowane na pakiet SDK 33 i nowsze (T) powinny korzystać z nowego interfejsu API, ponieważ stary interfejs API nie będzie już do nich stosowany.
  • Listę dozwolonych adresów URL, które mogą używać skonfigurowanego serwera proxy, można teraz ustawić za pomocą ProxyCofig.Builder przez ustawienie setReverseBypassEnabled na true. W takim przypadku wszystkie pozostałe adresy URL będą pomijać skonfigurowany serwer proxy.

Wersja 1.5.0-rc01

10 sierpnia 2022 r.

Usługa androidx.webkit:webkit:1.5.0-rc01 została udostępniona bez zmian od 1.5.0-beta01. Wersja 1.5.0-rc01 zawiera te zatwierdzenia.

Wersja 1.5.0-beta01

29 czerwca 2022 r.

Usługa androidx.webkit:webkit:1.5.0-beta01 została zwolniona. Wersja 1.5.0-beta01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Interfejsy API związane z wyciemnianiem alogrytmicznym są teraz oznaczone adnotacjami, aby wymagać poziomu Q API. Interfejs API nie będzie miał żadnego wpływu na poziomy API < P: Ciemny motyw nie jest dostępny na tych urządzeniach. (I0905e)

Wersja 1.5.0-alpha01

18 maja 2022 r.

Usługa androidx.webkit:webkit:1.5.0-alpha01 została zwolniona. Wersja 1.5.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodaj nową metodę getVariationsHeader() w witrynie WebViewCompat, aby pobrać wartość nagłówka X-Client-Data wysyłana przez WebView. Zwracana wartość to protobuf ClientINSTANCEs zakodowany w standardzie base64.
  • Dodaj interfejsy API w WebSettingsCompat, aby zezwolić na przyciemnianie algorytmicznie lub je zablokować w przypadku aplikacji z wartością targetSdk >= 33. (I29597)

Zmiany interfejsu API

  • Dodaj nową metodę w ProxyCofig.Builder, aby ustawić odwrotne omijanie zabezpieczeń. Jeśli zasada odwrotnego pomijania ma wartość Prawda, z ustawień serwera proxy będą używane tylko adresy URL z listy pomijania. (I9eaa2, b/168728599)

Poprawki błędów

  • Poprawiliśmy literówkę w dokumentacji ciemnego motywu. (I36ebf, b/194343633)
  • Naprawiono błąd, który powodował, że metody WebViewAssetLoader.Builder były nieumyślnie zależne od zamówienia. (If420d, b/182196765)

Wersja 1.4.0

Wersja 1.4.0

16 grudnia 2020 roku

Usługa androidx.webkit:webkit:1.4.0 została zwolniona. Wersja 1.4.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.3.0

  • Dodano nowy interfejs API setSafeBrowsingAllowlist(), który zastąpił setSafeBrowsingWhitelist(). Dzięki temu aplikacje mogą zaktualizować kod, aby uniknąć niestosownej terminologii, a jednocześnie nadal obsługiwać ten sam zakres pakietów Android SDK i komponentów WebView co wycofany interfejs API.
  • Naprawiliśmy błąd funkcji setProxyOverride, który powodował nieprawidłowe stosowanie reguł zastępczych.

Wersja 1.4.0-rc02

Grudzień 2, 2020

Usługa androidx.webkit:webkit:1.4.0-rc02 została zwolniona. Wersja 1.4.0-rc02 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawia nieprawidłowe stosowanie reguł kreacji zastępczych podczas korzystania z funkcji setProxyOverride.

Wersja 1.4.0-rc01

11 listopada 2020 roku

Usługa androidx.webkit:webkit:1.4.0-rc01 została udostępniona 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.

Usługa androidx.webkit:webkit:1.4.0-beta01 została udostępniona bez zmian od 1.4.0-alpha01. Wersja 1.4.0-beta01 zawiera te zatwierdzenia.

Wersja 1.4.0-alpha01

16 września 2020 roku

Usługa androidx.webkit:webkit:1.4.0-alpha01 została zwolniona. Wersja 1.4.0-alfa01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodano nowy interfejs API WebViewCompat#setSafeBrowsingAllowlist() do zastąp setSafeBrowsingWhitelist(). Dzięki temu aplikacje mogą zaktualizować kod do unikanie terminologii, która nie jest inkluzywna, a jednocześnie obsługuje ten sam zakres. pakietów SDK na Androida i komponentów WebView jako wycofany interfejs API. (I8d65d)

Wersja 1.3.0

Wersja 1.3.0

19 sierpnia 2020 r.

Usługa androidx.webkit:webkit:1.3.0 została zwolniona. Wersja 1.3.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.2.0

  • Interfejs ForceDarkStrategy API zapewnia większą kontrolę nad przyciemnianiem komponentu WebView (ciemnienie CSS/treści internetowej w porównaniu z automatycznym przyciemnianiem).
  • WebMessageListener i powiązane z nim interfejsy API zapewniają prosty i bezpieczny mechanizm nawiązywania komunikacji między treściami internetowymi a aplikacją osadzoną WebView.
  • isMultiProcessEnabled API, aby sprawdzić, czy komponent WebView działa w ramach wielu procesów. Jest to możliwe na Androidzie O i oznacza, że treści z internetu są renderowane w mechanizmie renderowania działającym w trybie piaskownicy, który jest oddzielnym procesem aplikacji. Ten mechanizm renderowania działający w piaskownicy może być udostępniany innym komponentom WebView w tej samej aplikacji, ale nie jest udostępniany innym procesom aplikacji.

Wersja 1.3.0-rc02

5 sierpnia 2020 r.

Usługa androidx.webkit:webkit:1.3.0-rc02 została zwolniona. Wersja 1.3.0-rc02 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiązano problem ze zgodnością, który powodował awarię WebMessageListener podczas programowania lokalnego, jeśli aplikacja została uruchomiona za pomocą funkcji błyskawicznego uruchamiania w Android Studio.

Wersja 1.3.0-rc01

24 czerwca 2020 r.

Usługa androidx.webkit:webkit:1.3.0-rc01 została udostępniona bez zmian od 1.3.0-beta01. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.

Wersja 1.3.0-beta01

10 czerwca 2020 r.

Usługa androidx.webkit:webkit:1.3.0-beta01 została zwolniona. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.

Nowe funkcje

  • Interfejs API ForceDarkStrategy do kontrolowania przyciemniania komponentu WebView (ciemnienie CSS/treści internetowej w porównaniu z automatycznym przyciemnianiem).
  • Interfejsy API WebMessageListener zapewniają prosty i bezpieczny mechanizm nawiązywania komunikacji między treściami z internetu a osadzoną aplikacją WebView.
  • MultiProcessEnabled API do sprawdzania, czy WebView działa w trybie wieloprocesowym.

Wersja 1.3.0-alfa03

27 maja 2020 r.

Usługa androidx.webkit:webkit:1.3.0-alpha03 została zwolniona. Wersja 1.3.0-alfa03 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Metoda addWebMessageListener otrzymuje teraz Set<String> dozwolonych reguł źródła (wcześniej List<String>).

Wersja 1.3.0-alfa02

29 kwietnia 2020 roku

Usługa androidx.webkit:webkit:1.3.0-alpha02 została zwolniona. Wersja 1.3.0-alfa02 zawiera te zatwierdzenia.

Nowe funkcje

  • Interfejs MultiProcessEnabled API sprawdza, czy WebView działa w trybie wieloprocesowym.

Zmiany interfejsu API

  • Wszystkie stałe stałe strategii ciemnej mają teraz prefiks DARK_STRATEGY.

Wersja 1.3.0-alpha01

15 kwietnia 2020 roku

Usługa androidx.webkit:webkit:1.3.0-alpha01 została zwolniona. Wersja 1.3.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

  • Interfejs API ForceDarkStrategy do kontrolowania przyciemniania WebView (ciemnienie CSS/treści internetowej w porównaniu z automatycznym przyciemnianiem).
  • Interfejsy API WebMessageListener zapewniają prosty i bezpieczny mechanizm nawiązywania komunikacji między treściami z internetu a osadzoną aplikacją WebView.

Wersja 1.2.0

Wersja 1.2.0

Marzec 4, 2020

Usługa androidx.webkit:webkit:1.2.0 została zwolniona. Wersja 1.2.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.1.0

  • Dodaliśmy interfejs ForceDark API, aby kontrolować, czy komponenty WebView mają być renderowane w trybie ciemnym.

Wersja 1.2.0-rc01

19 lutego 2020 r.

Usługa androidx.webkit:webkit:1.2.0-rc01 została udostępniona bez zmian od 1.2.0-beta01. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

Wersja 1.2.0-beta01

5 lutego 2020 r.

Usługa androidx.webkit:webkit:1.2.0-beta01 została udostępniona bez zmian od 1.2.0-alpha01. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.

Wersja 1.2.0-alpha01

18 grudnia 2019 r.

Usługa androidx.webkit:webkit:1.2.0-alpha01 została zwolniona. Wersja 1.2.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

  • Interfejs ForceDark API do określania, czy komponenty WebView mają być renderowane w trybie ciemnym.

Wersja 1.1.0

Wersja 1.1.0

7 listopada 2019 r.

Usługa androidx.webkit:webkit:1.1.0 została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.

Ważne zmiany wprowadzone od wersji 1.0.0

  • Interfejsy API Getter API uzupełniające funkcje setWebViewClient() i setWebChromeClient().
  • Interfejs ProxyController API do ustawiania serwera proxy żądania sieciowego dla komponentów WebView aplikacji.
  • Interfejs WebViewAssetLoader API upraszcza wczytywanie zasobów, zasobów i plików APK z katalogu danych aplikacji przez przechwytywanie żądań. Umożliwia to dostęp do zasobów internetowych i lokalnych bez wyłączania CORS.
  • Interfejs trackingController API do zbierania informacji śledzenia WebView na potrzeby debugowania.
  • Interfejsy API RenderProcess do zarządzania usługami mechanizmu renderowania WebView i wykrywania przypadków, w których niepoprawnie działająca treść powoduje, że mechanizmy renderowania WebView przestają reagować.
  • Zaktualizowaliśmy istniejące interfejsy API, aby uwzględnić w nich adnotacje dotyczące wartości null (@NonNull, @Nullable) i wątków (@UiThread, @WorkerThread).

Wersja 1.1.0-rc01

9 października 2019 r.

Usługa androidx.webkit:webkit:1.1.0-rc01 została zwolniona. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów.

  • Rozwiązaliśmy problem, który powodował awarię usługi setWebViewRenderProcessClient() w przypadku przekazywania pustego klienta.

Wersja 1.1.0-beta01

5 września 2019 r.

Usługa androidx.webkit:webkit:1.1.0-beta01 została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

  • Nowy InternalStoragePathHandler w WebViewAssetLoader, aby wczytać pliki z katalogu danych aplikacji.

Zmiany interfejsu API

  • ProxyConfig#getProxyRules() zwraca teraz listę instancji ProxyRule, której nie można zmienić. Jest to nowa klasa do przechowywania filtra schematu i odpowiadającego mu adresu URL serwera proxy.

Poprawki błędów.

  • WebViewAssetLoader ma domyślnie ustawiony typ „tekst/zwykły” Typ MIME (zamiast wartości null), jeśli nie może odgadnąć typu MIME na podstawie ścieżki pliku.
  • WebViewAssetLoader nie zgłasza już NullPointerException podczas wczytywania plików ze znakami specjalnymi w nazwach ścieżek.

Wersja 1.1.0-alfa02

7 sierpnia 2019 r.

Usługa androidx.webkit:webkit:1.1.0-alpha02 została zwolniona. Zatwierdzenia 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 interfejsu API

  • WebViewAssetLoader jest teraz klasą ostateczną, ponieważ nie powinna być podklasą.
  • Implementacje WebViewAssetLoader#PathHandler są teraz publiczne i ostateczne.
  • Niewielkie zmiany w nazwach metod ProxyConfig.
  • ProxyController: dodano nowe metody addDirect() i addDirect(String) umożliwiające łączenie się bezpośrednio z serwerami. usunięto ciąg DIRECT.
  • Zaktualizowaliśmy istniejące interfejsy API, aby uwzględnić w nich adnotacje dotyczące wartości null (@NonNull, @Nullable) i wątków (@UiThread, @WorkerThread).

Wersja 1.1.0-alpha01

7 maja 2019 r.

Usługa androidx.webkit:webkit:1.1.0-alpha01 została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

  • Interfejsy API Getter uzupełniające setWebViewClient() i setWebChromeClient()
  • Interfejs ProxyController API do ustawiania serwera proxy żądania sieciowego dla komponentów WebView aplikacji.
  • Interfejs AssetLoader API upraszcza wczytywanie zasobów i zasobów APK przez przechwytywanie żądań, umożliwiając dostęp do zasobów internetowych bez wyłączania CORS.
  • Interfejs trackingController API do zbierania informacji śledzenia WebView na potrzeby debugowania.
  • Interfejsy API RenderProcess do zarządzania usługami mechanizmu renderowania WebView i wykrywania przypadków, gdy źle działające treści powodują, że mechanizmy renderowania WebView przestają reagować.

Poprawki błędów.

  • Drobne poprawki w formatowaniu dokumentacji istniejących interfejsów API.