WebKit

Trabaja con las APIs modernas de WebView en Android 5 y versiones posteriores.
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
20 de marzo de 2024 1.9.0 - 1.11.0-beta01. -

Cómo declarar dependencias

Para agregar una dependencia en WebKit, debes agregar el repositorio de Maven de Google a tu proyecto. Consulta el repositorio de Maven de Google para obtener más información.

Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:

Groovy

dependencies {
    implementation "androidx.webkit:webkit:1.9.0"
}

Kotlin

dependencies {
    implementation("androidx.webkit:webkit:1.9.0")
}

Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.

Crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

Versión 1.11

Versión 1.11.0-beta01

20 de marzo de 2024

Lanzamiento de androidx.webkit:webkit:1.11.0-beta01 sin cambios notables. La versión 1.11.0-beta01 contiene estas confirmaciones.

Versión 1.11.0-alpha02

21 de febrero de 2024

Lanzamiento de androidx.webkit:webkit:1.11.0-alpha02. La versión 1.11.0-alpha02 contiene estas confirmaciones.

Nuevas funciones

  • Se agregaron los métodos setAudioMuted y isAudioMuted para silenciar (y dejar de silenciar) WebViews. Este método te permitirá evitar que un dispositivo WebView reproduzca audio. (Ie7a33).

Cambios en la API

  • URLUtilCompat es definitivo, ya que no debe ser una subclase. (I49ec1).

Versión 1.11.0-alpha01

7 de febrero de 2024

Lanzamiento de androidx.webkit:webkit:1.11.0-alpha01. La versión 1.11.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad para URLUtil.guessFileName. La versión de compatibilidad en URLUtilCompat admite el análisis de encabezados Content-Disposition que usan el atributo de valor codificado filename*, como se define en RFC 6266. La API de compatibilidad también expone directamente un método para analizar el encabezado Content-Disposition en el que no se desea un nombre de archivo sugerido en función de la URL y el tipo de MIME. (If6ae7, b/309927164).

Versión 1.10

Versión 1.10.0

24 de enero de 2024

Lanzamiento de androidx.webkit:webkit:1.10.0. La versión 1.10.0 contiene estas confirmaciones.

Cambios importantes desde 1.9.0

  • Se agregó una nueva API a WebSettingsCompat para controlar el comportamiento experimental de la API de Media Integrity de Android WebView inhabilitando la API por completo o restringe el uso compartido de la identidad de la aplicación en la respuesta de la API. Esta opción se puede activar o desactivar para todos los orígenes y para cada origen.

Versión 1.10.0-rc01

10 de enero de 2024

Lanzamiento de androidx.webkit:webkit:1.10.0-rc01. Esta versión no contiene cambios con respecto a la versión 1.10.0-beta01.

Versión 1.10.0-beta01

13 de diciembre de 2023

Lanzamiento de androidx.webkit:webkit:1.10.0-beta01. La versión 1.10.0-beta01 contiene estas confirmaciones.

  • No hay cambios funcionales desde 1.10.0-alpha01.

Versión 1.10.0-alpha01

29 de noviembre de 2023

Lanzamiento de androidx.webkit:webkit:1.10.0-alpha01. La versión 1.10.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó una nueva API a WebSettingsCompat para controlar el comportamiento experimental de la API de Media Integrity de Android WebView inhabilitando la API por completo o restringe el uso compartido de la identidad de la aplicación en la respuesta de la API Esta opción se puede activar o desactivar para todos los orígenes y para cada origen.

Versión 1.9

Versión 1.9.0

29 de noviembre de 2023

Lanzamiento de androidx.webkit:webkit:1.9.0. La versión 1.9.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.8.0

  • Se agregó una nueva API de varios perfiles para WebViews.
  • Se agregó una API para insertar y ejecutar JavaScript antes de que se cargue la página.
    • La API de WebViewCompat#addDocumentStartJavascript permite que las apps inserten secuencias de comandos en una WebView cuya ejecución está garantizada antes de que se ejecuten secuencias de comandos de páginas. La API permite que la app especifique una lista de destinos de orígenes para habilitar la secuencia de comandos, lo que garantiza que solo se ejecute en las páginas previstas. A diferencia de WebView#evaluateJavascript, esta API permitirá la ejecución de secuencias de comandos en Iframes incorporados cuando se carguen. Las apps pueden usar esta nueva API junto con WebViewCompat#addWebMessageListener para configurar una comunicación bidireccional con JavaScript en la página de manera confiable.
  • Se agregaron APIs para modificar la forma en que se registran los eventos de Attribution Reporting de Privacy Sandbox.
    • Presentamos una nueva API WebSettingsCompat#setAttributionRegistrationBehavior que permite a los desarrolladores configurar si las fuentes de atribución y los activadores se registran como provenientes de la app en sí o del contenido web en WebView. Este método también se puede usar para inhabilitar Attribution Reporting en WebView. Además, agregamos una nueva API de WebSettingsCompat#getAttributionRegistrationBehavior para obtener el comportamiento actual.
    • Para obtener más información, consulta la documentación de Privacy Sandbox.
  • Se agregaron APIs para anular los metadatos de usuario-agente para sugerencias de clientes.
    • Presentamos una nueva API, WebSettingsCompat#setUserAgentMetadata para anular los metadatos de usuario-agente para WebView que se utilizan para propagar las sugerencias de clientes de usuario-agente, y también agregamos otra API nueva, WebSettingsCompat#getUserAgentMetadata, para obtener anulaciones de usuario-agente actuales. Recomendamos que las apps usen la nueva API para establecer los valores de anulación correctos cada vez que la app cambie la cadena de usuario-agente predeterminada con WebSettings.setUserAgentString para garantizar que se usen los valores correctos en todas las situaciones.

Versión 1.9.0-rc01

15 de noviembre de 2023

Lanzamiento de androidx.webkit:webkit:1.9.0-rc01. Esta versión no contiene cambios con respecto a la versión 1.9.0-beta01.

Versión 1.9.0-beta01

1 de noviembre de 2023

Lanzamiento de androidx.webkit:webkit:1.9.0-beta01. La versión 1.9.0-beta01 contiene estas confirmaciones.

Cambios en la API

  • Se aborda el problema de nulabilidad de la API de metadatos de usuario-agente Actualizamos la clase BrandVersion para usar el patrón del compilador y hacer que la nulabilidad de los métodos get y set de la clase UserAgentMetadata sea coherente. (Ibf195).
  • Se deben anotar ProfileStore, WebViewCompat#setProfile y WebViewCompat.getProfile con @UiThread. (I499b2).

Versión 1.9.0-alpha01

18 de octubre de 2023

Lanzamiento de androidx.webkit:webkit:1.9.0-alpha01. La versión 1.9.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Agregamos la API de varios perfiles que te permite tener sesiones de navegación separadas entre WebViews; cada perfil tiene sus propios datos (p.ej., cookies). Puedes crear perfiles, asignarlos a instancias de WebView y recuperarlos más tarde para cualquier acceso a los datos. Hay una clase singleton ProfileStore que te ayuda a administrar perfiles mediante su creación o eliminación con APIs; getOrCreateProfile, getProfile, getAllProfileNames y deleteProfile. La clase Profile tendrá distintas APIs para obtener datos asociados con este perfil, como su nombre, GeoLocationPermissions, ServiceWorkerController, CookieManager y WebStorage. Cada WebView se ejecutará con el perfil predeterminado de forma predeterminada. Sin embargo, puedes cambiar eso usando WebViewCompat#setProfile. Respecto de eso, el perfil de un WebView se puede recuperar con WebViewCompat#getProfile. (I32d22).
  • Agrega APIs para modificar cómo se registran los eventos de Attribution Reporting. Presentamos una nueva API de WebSettingsCompat#setAttributionRegistrationBehavior, que permite a los desarrolladores configurar si las fuentes y los activadores se registran como provenientes de la app o del contenido web en WebView. Este método también se puede usar para inhabilitar Attribution Reporting en WebView. Además, agregamos una nueva API de WebSettingsCompat#getAttributionRegistrationBehavior para obtener el comportamiento actual. Para obtener más información, consulta la documentación de Privacy Sandbox. (I661f2).
  • Agrega APIs para anular los metadatos de usuario-agente. Presentamos una nueva API de WebSettingsCompat#setUserAgentMetadata para anular los metadatos de usuario-agente para WebView, que se usan para propagar las sugerencias de clientes de usuario-agente, y también agregamos otra API WebSettingsCompat#getUserAgentMetadata nueva para obtener anulaciones de usuario-agente actuales. Recomendamos que las apps usen la nueva API para establecer los valores de anulación correctos en lugar de depender del cambio de usuario-agente. (I74500).
  • Se agregó una API para insertar JavaScript para que se ejecute durante la carga de la página. La API de WebViewCompat.addDocumentStartJavascript permite que las apps inserten secuencias de comandos en un WebView, que se ejecutarán antes que cualquier secuencia de comandos de la página. La API permite que la app especifique una lista de destinos de orígenes para habilitar la secuencia de comandos, lo que garantiza que solo se ejecute en las páginas previstas. A diferencia de WebView.evaluateJavascript, esta API permitirá la ejecución de secuencias de comandos en Iframes incorporados cuando se cargan. (Ide063).

Versión 1.8

Versión 1.8.0

6 de septiembre de 2023

Lanzamiento de androidx.webkit:webkit:1.8.0. La versión 1.8.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.7.0

Versión 1.8.0-rc01

9 de agosto de 2023

Lanzamiento de androidx.webkit:webkit:1.8.0-rc01 sin cambios desde 1.8.0-beta01. La versión 1.8.0-rc01 contiene estas confirmaciones.

Versión 1.8.0-beta01

26 de julio de 2023

Lanzamiento de androidx.webkit:webkit:1.8.0-beta01 sin cambios desde 1.8.0-alpha01. La versión 1.8.0-beta01 contiene estas confirmaciones.

Versión 1.8.0-alpha01

7 de junio de 2023

Lanzamiento de androidx.webkit:webkit:1.8.0-alpha01. La versión 1.8.0-alpha01 contiene estas confirmaciones.

Cambios en la API

  • Consulta la sección Contribución externa.

Contribución externa

  • Agrega compatibilidad para pasar ArrayBuffer sobre WebMessagePortCompat#postMessage, JsReplyProxy#postMessage y WebViewCompat#postWebMessage, recibir ArrayBuffer de JavaScript por WebMessagePortCompat y WebMessageListener, así como recibir ArrayBuffer transferibles de JavaScript a través de WebMessagePortCompat Ten en cuenta que esta API solo estará disponible a partir de la versión 116 de WebView. (Ie7567, b/251152171).

Versión 1.7

Versión 1.7.0

24 de mayo de 2023

Lanzamiento de androidx.webkit:webkit:1.7.0. La versión 1.7.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.6.0

  • Se agregó compatibilidad con la función Image drag en WebView. Para permitir que tus usuarios arrastren imágenes fuera de WebView, agrega el nuevo DropDataContentProvider al manifiesto de tu app, como se describe en la documentación de la clase.
  • Agregamos la API de ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File), que se puede usar para establecer los directorios base que WebView usará para el proceso actual. Al igual que con todos los métodos de ProcessGlobalConfig, se debe llamar a este método antes de que se cree la primera instancia de WebView. Se agrega este método para proporcionar al framework de Android la capacidad de modificar la configuración de WebView. En aplicaciones de uso general, no se recomienda usar este método.

Versión 1.7.0-rc01

10 de mayo de 2023

Lanzamiento de androidx.webkit:webkit:1.7.0-rc01 sin cambios desde 1.7.0-beta01. La versión 1.7.0-rc01 contiene estas confirmaciones.

Versión 1.7.0-beta01

5 de abril de 2023

Lanzamiento de androidx.webkit:webkit:1.7.0-beta01. La versión 1.7.0-beta01 contiene estas confirmaciones.

Cambios en la API

  • Se realizó un cambio menor en la marca de función y el nombre del método, y hace que setDirectoryBasePaths() acepte el archivo en lugar de la cadena (Ib0d0a).

Versión 1.7.0-alpha03

8 de marzo de 2023

Lanzamiento de androidx.webkit:webkit:1.7.0-alpha03. La versión 1.7.0-alpha03 contiene estas confirmaciones.

Cambios en la API

  • Se agregó la API de ProcessGlobalConfig#setDirectoryBasePath(String, String), que se puede usar para establecer los directorios base que WebView usará para el proceso actual. (Ibd1a1, b/250553687).

Correcciones de errores

  • Se corrigió una regla ProGuard no válida que causaba errores de compilación cuando se usaba DexGuard (Ia65c2, b/270034835).

Versión 1.7.0-alpha02

8 de febrero de 2023

Lanzamiento de androidx.webkit:webkit:1.7.0-alpha02. La versión 1.7.0-alpha02 contiene estas confirmaciones.

Correcciones de errores

  • Errores de documentación de DropDataContentProvider.

Versión 1.7.0-alpha01

25 de enero de 2023

Lanzamiento de androidx.webkit:webkit:1.7.0-alpha01. La versión 1.7.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Agregamos compatibilidad con la función Image drag en WebView. Para permitir que tus usuarios arrastren imágenes fuera de WebView, agrega el nuevo elemento DropDataContentProvider al manifiesto de tu app (05a1a6).

Versión 1.6

Versión 1.6.1

22 de marzo de 2023

Lanzamiento de androidx.webkit:webkit:1.6.1. La versión 1.6.1 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió el error de análisis de ProGuard (Ia65c2).

Versión 1.6.0

25 de enero de 2023

Lanzamiento de androidx.webkit:webkit:1.6.0. La versión 1.6.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.5.0

  • Se agregó una nueva API de ProcessGlobalConfig para permitir que las apps proporcionen ajustes de configuración que se deben establecer antes de cargar WebView, como el sufijo de directorio de datos de WebView. La configuración debe establecerse y aplicarse lo antes posible durante el inicio de la aplicación para garantizar que ocurra antes de que otro subproceso pueda llamar a un método que cargue WebView en el proceso.
  • Se agregó una nueva API de CookieManagerCompat para expandir android.webkit.CookieManager con un nuevo método de getCookieInfo, que recupera los atributos para todas las cookies establecidas en una URL específica. Esto difiere de la API de getCookie existente en CookieManager, que solo muestra los atributos de nombre y valor de las cookies.
  • WebSettingsCompat tiene métodos nuevos para habilitar/inhabilitar el efecto de EnterpriseAuthenticationAppLinkPolicy si lo configura el administrador en WebView y para obtener la configuración actual. Esta función permite que WebView abra una app de autenticación en lugar de abrir la URL de autenticación. Esta función no tiene efecto en dispositivos que no son administrados por una política empresarial.
  • Se agregó una nueva API a WebSettingsCompat para permitir que las aplicaciones envíen de forma explícita el nombre del paquete de la app en el encabezado X-Requested-With a los orígenes permitidos. Tradicionalmente, el encabezado se envía en cada solicitud de WebView.

Versión 1.6.0-rc01

11 de enero de 2023

Lanzamiento de androidx.webkit:webkit:1.6.0-rc01. La versión 1.6.0-rc01 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió NullPointerException en WebViewFeature.isStartupFeatureSupported(Context, String) cuando se ejecutaba en el SDK < L (Ic7292).

Versión 1.6.0-beta01

7 de diciembre de 2022

Lanzamiento de androidx.webkit:webkit:1.6.0-beta01. La versión 1.6.0-beta01 contiene estas confirmaciones.

Cambios en la API

  • Se modificó ProcessGlobalConfig para usar un constructor normal y un método de aplicación estático. Se debe llamar al método de aplicación solo una vez por proceso, lo antes posible, y arrojará IllegalStateException si se lo llama más de una vez. Los objetos ProcessGlobalConfig ya no tienen restricciones sobre la cantidad de veces que se puede llamar a los métodos set (I456c3).

Versión 1.6.0-alpha03

9 de noviembre de 2022

Lanzamiento de androidx.webkit:webkit:1.6.0-alpha03. La versión 1.6.0-alpha03 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó la clase ProcessGlobalConfig que permite a los usuarios establecer la configuración global del proceso antes de cargar WebView. WebView tiene algunos parámetros de configuración globales de procesos que no se pueden cambiar una vez que se cargó WebView (p. ej., el directorio de datos WebView). Esta clase permite que las apps establezcan estos parámetros. La configuración debe establecerse y aplicarse lo antes posible durante el inicio de la aplicación a fin de garantizar que ocurra antes de que otro subproceso pueda llamar a un método que cargue WebView en el proceso (I7c0e0, b/250553687).
  • Se agregó una nueva API para permitir que las aplicaciones envíen explícitamente el nombre del paquete de la app en el encabezado X-Requested-With a los orígenes permitidos. Tradicionalmente, el encabezado se envía en cada solicitud de WebView (I0adfe, b/226552535).

Cambios en la API

  • La API de WebSettingsCompat#setAlgorithmicDarkeningAllowed es compatible con todas las versiones de Android en WebView versión 105 y posteriores. Las versiones anteriores de WebView solo admitían la API en Android Q y versiones posteriores. Como resultado, esta API ya no está marcada como @RequiresApi(Build.VERSION_CODES.Q) (I3ac1d).

Versión 1.6.0-alpha02

24 de octubre de 2022

Lanzamiento de androidx.webkit:webkit:1.6.0-alpha02. La versión 1.6.0-alpha02 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó una nueva clase CookieManagerCompat junto con una API de getCookieInfo, que recupera todos los atributos de todas las cookies configuradas en una URL específica. Esto difiere de la API de getCookie existente en CookieManager, que solo muestra los atributos de nombre y valor de las cookies (I07365, b/242161756).

Versión 1.6.0-alpha01

24 de agosto de 2022

Se lanzó androidx.webkit:webkit:1.6.0-alpha01. La versión 1.6.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Se agregaron APIs en WebSettingsCompat para habilitar/inhabilitar el efecto de EnterpriseAuthenticationAppLinkPolicy si lo configura el administrador en WebView. Esta función permite que WebView abra una app de autenticación en lugar de abrir la URL de autenticación. Esta función no tiene efecto en dispositivos que no son administrados por una política empresarial.

Versión 1.5.0

Versión 1.5.0

24 de agosto de 2022

Lanzamiento de androidx.webkit:webkit:1.5.0. La versión 1.5.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.4.0

  • Una nueva API de setAlgorithmicDarkeningAllowed en WebSettingsCompat reemplaza las APIs anteriores de setForceDark y setForceDarkStrategy. Las apps orientadas al SDK 33 y versiones posteriores (T) deberían usar la API nueva porque la anterior ya no tendrá ningún efecto en esas apps.
  • Ahora se puede configurar una lista de URLs permitidas para usar el proxy configurado a través de ProxyCofig.Builder si se configura setReverseBypassEnabled en true. Cuando esto esté activo, todas las demás URLs omitirán el proxy configurado.

Versión 1.5.0-rc01

10 de agosto de 2022

Lanzamiento de androidx.webkit:webkit:1.5.0-rc01 sin cambios desde 1.5.0-beta01. La versión 1.5.0-rc01 contiene estas confirmaciones.

Versión 1.5.0-beta01

29 de junio de 2022

Lanzamiento de androidx.webkit:webkit:1.5.0-beta01. La versión 1.5.0-beta01 contiene estas confirmaciones.

Cambios en la API

  • Las APIs relacionadas con el oscurecimiento alogrítmico ahora están anotadas para requerir el nivel de API Q. La API no tendrá ningún efecto en los niveles de API menores que Q, ya que el tema oscuro no es una opción en estos dispositivos (I0905e).

Versión 1.5.0-alpha01

18 de mayo de 2022

Lanzamiento de androidx.webkit:webkit:1.5.0-alpha01. La versión 1.5.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Agregamos un nuevo método getVariationsHeader() en WebViewCompat para obtener el valor del encabezado de datos del cliente X enviado por WebView. El valor mostrado será un protobuf de ClientVariations codificado en base64.
  • Se agregaron APIs en WebSettingsCompat para permitir o no el oscurecimiento algorítmico para la app con targetSdk >= 33 (I29597).

Cambios en la API

  • Agregamos un nuevo método en ProxyCofig.Builder para configurar la omisión inversa. Si estableces la omisión inversa como verdadera, solo las URLs de la lista de omisión utilizarán la configuración de proxy (I9eaa2, b/168728599).

Correcciones de errores

  • Se corrigió un error de ortografía en la documentación sobre temas oscuros (I36ebf, b/194343633).
  • Se corrigió un error por el cual los métodos WebViewAssetLoader.Builder dependían involuntariamente del orden (If420d, b/182196765).

Versión 1.4.0

Versión 1.4.0

16 de diciembre de 2020

Lanzamiento de androidx.webkit:webkit:1.4.0. La versión 1.4.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.3.0

  • Se agregó una nueva API, setSafeBrowsingAllowlist(), para reemplazar a setSafeBrowsingWhitelist(). Esto ayuda a que las apps actualicen su código con el objeto de evitar terminología no inclusiva sin dejar de admitir el mismo conjunto de SDK de Android y versiones de WebView como la API obsoleta.
  • Se corrigió un error en setProxyOverride que causaba que las reglas de resguardo no se aplicaran de forma correcta.

Versión 1.4.0-rc02

2 de diciembre de 2020

Lanzamiento de androidx.webkit:webkit:1.4.0-rc02. La versión 1.4.0-rc02 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigieron las reglas de resguardo que no se aplicaban correctamente cuando se usaba setProxyOverride.

Versión 1.4.0-rc01

11 de noviembre de 2020

Lanzamiento de androidx.webkit:webkit:1.4.0-rc01 sin cambios desde 1.4.0-beta01. La versión 1.4.0-rc01 contiene estas confirmaciones.

Versión 1.4.0-beta01

14 de octubre de 2020

Lanzamiento de androidx.webkit:webkit:1.4.0-beta01 sin cambios desde 1.4.0-alpha01. La versión 1.4.0-beta01 contiene estas confirmaciones.

Versión 1.4.0-alpha01

16 de septiembre de 2020

Lanzamiento de androidx.webkit:webkit:1.4.0-alpha01. La versión 1.4.0-alpha01 contiene estas confirmaciones.

Cambios en la API

  • Se agregó una nueva API, WebViewCompat#setSafeBrowsingAllowlist(), para reemplazar la setSafeBrowsingWhitelist(). Esto ayuda a que las apps actualicen su código con el objeto de evitar terminología no inclusiva sin dejar de admitir el mismo conjunto de SDK de Android y versiones de WebView como API obsoleta. (I8d65d)

Versión 1.3.0

Versión 1.3.0

19 de agosto de 2020

Lanzamiento de androidx.webkit:webkit:1.3.0. La versión 1.3.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.2.0

  • La API de ForceDarkStrategy proporciona un mayor control del oscurecimiento de WebView (oscurecimiento de CSS/contenido web en comparación con el oscurecimiento automático).
  • WebMessageListener y sus API relacionadas proporcionan un mecanismo simple y seguro para establecer la comunicación entre el contenido web y la app de incorporación de WebView.
  • La API de isMultiProcessEnabled permite comprobar si WebView se ejecuta en modo de procesos múltiples. Esto es posible a partir de Android O y significa que el contenido web se renderiza en un proceso, en zona de pruebas, aislado del proceso de la aplicación. Este procesador de zona de pruebas se puede compartir con otros WebViews en la misma aplicación, pero no se comparte con otros procesos de aplicaciones.

Versión 1.3.0-rc02

5 de agosto de 2020

Lanzamiento de androidx.webkit:webkit:1.3.0-rc02. La versión 1.3.0-rc02 contiene estas confirmaciones.

Correcciones de errores

  • Esto soluciona un problema de compatibilidad por el que WebMessageListener a veces fallaba durante el desarrollo local si tu app se iniciaba con la función Instant Run de Android Studio.

Versión 1.3.0-rc01

24 de junio de 2020

Lanzamiento de androidx.webkit:webkit:1.3.0-rc01 sin cambios desde 1.3.0-beta01. La versión 1.3.0-rc01 contiene estas confirmaciones.

Versión 1.3.0-beta01

10 de junio de 2020

Lanzamiento de androidx.webkit:webkit:1.3.0-beta01. La versión 1.3.0-beta01 contiene estas confirmaciones.

Nuevas funciones

  • La API de ForceDarkStrategy permite controlar el oscurecimiento de WebView (oscurecimiento de CSS/contenido web en comparación con el oscurecimiento automático).
  • Las API de WebMessageListener proporcionan un mecanismo simple y seguro para establecer la comunicación entre el contenido web y la app de incorporación de WebView.
  • La API de MultiProcessEnabled permite comprobar si WebView se ejecuta en modo de procesos múltiples.

Versión 1.3.0-alpha03

27 de mayo de 2020

Lanzamiento de androidx.webkit:webkit:1.3.0-alpha03. La versión 1.3.0-alpha03 contiene estas confirmaciones.

Cambios en la API

  • El método addWebMessageListener ahora recibe un Set<String> de reglas de origen permitidas (anteriormente, un List<String>).

Versión 1.3.0-alpha02

29 de abril de 2020

Lanzamiento de androidx.webkit:webkit:1.3.0-alpha02. La versión 1.3.0-alpha02 contiene estas confirmaciones.

Nuevas funciones

  • API de MultiProcessEnabled para comprobar si WebView se ejecuta en modo de procesos múltiples.

Cambios en la API

  • Todas las constantes de estrategia oscura ahora tienen el prefijo DARK_STRATEGY.

Versión 1.3.0-alpha01

15 de abril de 2020

Lanzamiento de androidx.webkit:webkit:1.3.0-alpha01. La versión 1.3.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • API de ForceDarkStrategy para controlar el oscurecimiento de WebView (oscurecimiento de CSS/contenido web en comparación con el oscurecimiento automático).
  • Las API de WebMessageListener proporcionan un mecanismo simple y seguro para establecer la comunicación entre el contenido web y la app de incorporación de WebView.

Versión 1.2.0

Versión 1.2.0

4 de marzo de 2020

Lanzamiento de androidx.webkit:webkit:1.2.0. La versión 1.2.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.1.0

  • Se agregó la API de ForceDark para controlar si se deberían procesar WebViews en modo oscuro.

Versión 1.2.0-rc01

19 de febrero de 2020

Lanzamiento de androidx.webkit:webkit:1.2.0-rc01 sin cambios desde 1.2.0-beta01. La versión 1.2.0-rc01 contiene estas confirmaciones.

Versión 1.2.0-beta01

5 de febrero de 2020

Lanzamiento de androidx.webkit:webkit:1.2.0-beta01 sin cambios desde 1.2.0-alpha01. La versión 1.2.0-beta01 contiene estas confirmaciones.

Versión 1.2.0-alpha01

18 de diciembre de 2019

Lanzamiento de androidx.webkit:webkit:1.2.0-alpha01. La versión 1.2.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó la API de ForceDark para controlar si se debería procesar WebViews en modo oscuro.

Versión 1.1.0

Versión 1.1.0

7 de noviembre de 2019

Lanzamiento de androidx.webkit:webkit:1.1.0. La versión 1.1.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.0.0

  • API de Getter para complementar setWebViewClient() y setWebChromeClient()
  • API de ProxyController para establecer un proxy de solicitud de red para WebViews de una app
  • API de WebViewAssetLoader para simplificar la carga de activos, recursos y archivos APK desde el directorio de datos de la app mediante la interceptación de solicitudes (esto permite el acceso a recursos web y locales sin inhabilitar CORS)
  • API de TracingController para recopilar información de seguimiento de WebView con fines de depuración
  • API de RenderProcess para administrar los servicios de procesamiento de WebView y detectar cuándo el contenido con mal comportamiento hace que los procesadores de WebView no respondan
  • Se actualizaron las API existentes para que incluyan anotaciones de nulabilidad (@NonNull, @Nullable) y de subprocesos (@UiThread, @WorkerThread).

Versión 1.1.0-rc01

9 de octubre de 2019

Lanzamiento de androidx.webkit:webkit:1.1.0-rc01. La versión 1.1.0-rc01 contiene estas confirmaciones.

Correcciones de errores

  • Se solucionó un problema en el que setWebViewRenderProcessClient() podía bloquearse si se pasaba un cliente nulo.

Versión 1.1.0-beta01

5 de septiembre de 2019

Lanzamiento de androidx.webkit:webkit:1.1.0-beta01. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.

Nuevas funciones

  • Se agregó un nuevo objeto InternalStoragePathHandler en WebViewAssetLoader para cargar archivos desde el directorio de datos de la app.

Cambios en la API

  • ProxyConfig#getProxyRules() ahora muestra una lista no modificable de instancias ProxyRule, que es una nueva clase para contener un filtro de esquema y su URL proxy correspondiente.

Correcciones de errores

  • WebViewAssetLoader usa de forma predeterminada un tipo de MIME "text/plain" (en lugar de nulo) cuando no puede adivinar el tipo de MIME desde la ruta del archivo.
  • WebViewAssetLoader ya no arroja un objeto NullPointerException cuando se cargan archivos con caracteres especiales en sus nombres de ruta de acceso.

Versión 1.1.0-alpha02

7 de agosto de 2019

Lanzamiento de androidx.webkit:webkit:1.1.0-alpha02. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.

Nuevas funciones

  • WebViewAssetLoader expone la interfaz PathHandler para permitir que las apps creen una funcionalidad personalizada de administración de rutas de acceso.

Cambios en la API

  • Ahora, WebViewAssetLoader es una clase final, ya que no debe subclasificarse.
  • Las implementaciones de WebViewAssetLoader#PathHandler ahora son públicas y finales.
  • Se realizaron cambios pequeños en los nombres de los métodos ProxyConfig.
  • ProxyController: Se agregaron nuevos métodos addDirect() y addDirect(String) para conectarse directamente a los servidores. Se quitó la cadena DIRECTA.
  • Se actualizaron las API existentes para que incluyan anotaciones de nulabilidad (@NonNull, @Nullable) y de subprocesos (@UiThread, @WorkerThread).

Versión 1.1.0-alpha01

7 de mayo de 2019

Lanzamiento de androidx.webkit:webkit:1.1.0-alpha01. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.

Nuevas funciones

  • API de Getter para complementar setWebViewClient() y setWebChromeClient()
  • API de ProxyController para establecer un proxy de solicitud de red para WebViews de una app
  • API de AssetLoader para simplificar la carga de activos y recursos de APK mediante la interceptación de solicitudes, lo que permite el acceso a los recursos web sin inhabilitar CORS
  • API de TracingController para recopilar información de seguimiento de WebView con fines de depuración
  • API de RenderProcess para administrar los servicios de procesamiento de WebView y detectar cuándo el contenido con mal comportamiento hace que los procesadores de WebView no respondan

Correcciones de errores

  • Se hicieron correcciones menores al formato de documentación para las API existentes.