WebKit

在 Android 5 及更高版本上使用现代 WebView API。
最新更新 稳定版 候选发布版 Beta 版 Alpha 版
2024 年 9 月 4 日 1.9.0 1.12.0-rc01 - -

声明依赖项

要添加对 WebKit 的依赖项,您必须将 Google Maven 存储库添加到您的项目中。阅读Google 的 Maven 存储库以了解更多信息。

在应用或模块的 build.gradle 文件中添加所需工件的依赖项

Groovy

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

Kotlin

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

有关依赖项的更多信息,请参阅添加构建依赖项

反馈

您的反馈有助于改进 Jetpack。如果您发现新的问题或有改进此库的想法,请告知我们。在创建新问题之前,请查看此库中现有问题。您可以通过点击星形按钮为现有问题添加您的投票。

创建新问题

有关更多信息,请参阅问题跟踪器文档

版本 1.12

版本 1.12.0-rc01

2024 年 9 月 4 日

androidx.webkit:webkit:1.12.0-rc01 已发布。此版本与 1.12.0-beta01 版本相比没有变化。

版本 1.12.0-beta01

2024 年 8 月 21 日

androidx.webkit:webkit:1.12.0-beta01 已发布。版本 1.12.0-beta01 包含这些提交

错误修复

  • 删除了对新平台 API 的手动访问概述,因为在使用 AGP 7.3 或更高版本(例如 R8 版本 3.3)的 R8 以及使用 AGP 8.1 或更高版本(例如 D8 版本 8.1)的所有构建时,此操作会通过 API 建模自动执行。建议未使用 AGP 的客户端更新到 D8 版本 8.1 或更高版本。有关更多详细信息,请参阅这篇文章。(Ia60e0b/345472586

版本 1.12.0-alpha02

2024 年 6 月 12 日

androidx.webkit:webkit:1.12.0-alpha02 已发布。版本 1.12.0-alpha02 包含这些提交

新功能

  • WebSettingsCompat 添加一个新 API 以启用/禁用BackForwardCache。此 API 为实验性 API,将来可能会更改。(I64a38
  • WebSettingsCompat 添加一个新 API 以控制此 WebSettings 的推测加载行为。目前仅提供预渲染。此 API 为实验性 API,将来可能会更改。(I13962

API 变更

  • 某些方法现在在适当的地方使用 @UiThread 进行记录。(I6c7e0),(I44541)
  • 线程安全方法现在使用 @AnyThread 进行记录。(I70189)
  • minSdkVersion 从 19 提高到 21。(Id7a43)

版本 1.12.0-alpha01

2024 年 4 月 17 日

androidx.webkit:webkit:1.12.0-alpha01 已发布。版本 1.12.0-alpha01 包含 这些提交

API 变更

  • 添加了一个新的 API,用于在 WebView 中启用 Web Authentication。开发人员可以使用 WebSettingsCompat#setWebAuthenticationSupport 在其应用的 WebView 中启用/禁用 WebAuthn 调用。(I8187f)

版本 1.11

版本 1.11.0

2024 年 5 月 1 日

androidx.webkit:webkit:1.11.0 已发布。版本 1.11.0 包含 这些提交

自 1.10.0 以来重要的更改

  • 允许应用通过新的 setAudioMutedisAudioMuted API 控制 WebView 中的音频播放,这两个 API 与在 Chrome 中静音标签类似。
  • 引入了 URLUtilCompat,它支持解析使用 RFC 6266 中定义的 filename* 编码值属性的 Content-Disposition 标头。兼容性 API 还直接公开了一种方法来解析 Content-Disposition 标头,在这种情况下,不需要基于 URL 和 MIME 类型的建议文件名。

版本 1.11.0-rc01

2024 年 4 月 3 日

androidx.webkit:webkit:1.11.0-rc01 已发布。此版本与 1.11.0-beta01 版本相比没有任何更改。

版本 1.11.0-beta01

2024 年 3 月 20 日

androidx.webkit:webkit:1.11.0-beta01 已发布,没有任何显著更改。版本 1.11.0-beta01 包含 这些提交

版本 1.11.0-alpha02

2024 年 2 月 21 日

androidx.webkit:webkit:1.11.0-alpha02 已发布。版本 1.11.0-alpha02 包含这些提交。

新功能

  • 添加了 setAudioMutedisAudioMuted 方法用于静音(和取消静音)WebViews。此方法将允许您阻止 WebView 播放音频。(Ie7a33)

API 变更

  • URLUtilCompat 设为 final,因为它不应被子类化。(I49ec1)

版本 1.11.0-alpha01

2024 年 2 月 7 日

androidx.webkit:webkit:1.11.0-alpha01 已发布。版本 1.11.0-alpha01 包含这些提交。

新功能

  • 添加了对 URLUtil.guessFileName 的兼容性。URLUtilCompat 中的兼容性版本支持解析使用 RFC 6266 中定义的 filename* 编码值属性的 Content-Disposition 标头。兼容性 API 还直接公开了一种方法来解析 Content-Disposition 标头,在这种情况下,不需要基于 URL 和 MIME 类型的建议文件名。(If6ae7b/309927164)

版本 1.10

版本 1.10.0

2024 年 1 月 24 日

androidx.webkit:webkit:1.10.0 已发布。版本 1.10.0 包含这些提交。

自 1.9.0 以来重要的更改

  • WebSettingsCompat 添加了一个 新的 API,以控制实验性的 Android WebView 媒体完整性 API 行为,方法是完全禁用 API 或限制在 API 响应中共享应用程序标识。这可以针对所有来源和每个来源进行切换。

版本 1.10.0-rc01

2024 年 1 月 10 日

androidx.webkit:webkit:1.10.0-rc01 已发布。此版本与 1.10.0-beta01 版本相比没有任何更改。

版本 1.10.0-beta01

2023 年 12 月 13 日

androidx.webkit:webkit:1.10.0-beta01 已发布。版本 1.10.0-beta01 包含这些提交。

  • 1.10.0-alpha01 相比,没有功能性更改。

版本 1.10.0-alpha01

2023 年 11 月 29 日

androidx.webkit:webkit:1.10.0-alpha01 已发布。版本 1.10.0-alpha01 包含这些提交。

新功能

  • WebSettingsCompat 添加了一个新的 API,以控制实验性的 Android WebView 媒体完整性 API 行为,方法是完全禁用 API 或限制在 API 响应中共享应用程序标识。这可以针对所有来源和每个来源进行切换。

版本 1.9

版本 1.9.0

2023 年 11 月 29 日

androidx.webkit:webkit:1.9.0 已发布。版本 1.9.0 包含这些提交。

自 1.8.0 以来重要的更改

  • 为 WebView 添加了一个新的多配置文件 API。
  • 添加了一个 API 用于在页面加载之前注入和运行 Javascript。
    • WebViewCompat#addDocumentStartJavascript API 允许应用将脚本注入到 WebView 中,这些脚本保证会在任何页面脚本执行之前运行。该 API 允许应用为要启用的脚本指定目标来源列表,确保它仅在预期的页面上运行。与 WebView#evaluateJavascript 不同,此 API 允许在嵌入的 Iframe 加载时执行脚本。应用可以将此新 API 与 WebViewCompat#addWebMessageListener 结合使用,以可靠的方式建立与页面中 JavaScript 的双向通信。
  • 添加了 API 用于修改隐私沙盒归因报告事件的注册方式。
    • 我们引入了一个新的 API WebSettingsCompat#setAttributionRegistrationBehavior,允许开发人员配置是否将归因来源和触发器注册为来自应用本身或来自 WebView 中的 Web 内容。此方法也可用于禁用 WebView 中的归因报告。此外,我们还添加了一个新的 API WebSettingsCompat#getAttributionRegistrationBehavior 来获取当前行为。
    • 有关更多信息,请参阅 隐私沙盒文档
  • 添加了 API 用于覆盖客户端提示的用户代理元数据。

版本 1.9.0-rc01

2023 年 11 月 15 日

androidx.webkit:webkit:1.9.0-rc01 已发布。此版本与 1.9.0-beta01 版本相比没有任何更改。

版本 1.9.0-beta01

2023 年 11 月 1 日

androidx.webkit:webkit:1.9.0-beta01 已发布。版本 1.9.0-beta01 包含这些提交。

API 变更

  • 解决用户代理元数据 API 的可空性问题。我们更新了 BrandVersion 类以使用构建器模式,使 UserAgentMetadata 类的 getter 和 setter 的可空性保持一致。(Ibf195)
  • 使用 @UiThreadProfileStoreWebViewCompat#setProfileWebViewCompat.getProfile 进行注释。(I499b2)

版本 1.9.0-alpha01

2023 年 10 月 18 日

androidx.webkit:webkit:1.9.0-alpha01 已发布。版本 1.9.0-alpha01 包含这些提交。

新功能

  • 我们添加了多配置文件 API,允许您在 WebViews 之间拥有独立的浏览会话,每个配置文件都有自己的数据(例如 cookie)。您可以创建配置文件,将它们分配给 WebView 实例,并在以后检索它们以进行任何数据访问。有一个单例类 ProfileStore 可帮助您通过 API 创建或删除配置文件;getOrCreateProfilegetProfilegetAllProfileNamesdeleteProfileProfile 类将具有不同的 API 用于获取与此配置文件关联的数据,例如其名称、GeoLocationPermissionsServiceWorkerControllerCookieManagerWebStorage。默认情况下,每个 WebView 都将使用默认配置文件运行,但是,您可以使用 WebViewCompat#setProfile 进行更改。与此相关,可以使用 WebViewCompat#getProfile 检索 WebView 的配置文件。(I32d22
  • 添加 API 以修改归因报告事件的注册方式。我们引入了一个新的 API WebSettingsCompat#setAttributionRegistrationBehavior,它允许开发人员配置来源和触发器是注册为来自应用本身还是来自 WebView 中的网页内容。此方法也可用于禁用 WebView 中的归因报告。此外,我们添加了一个新的 API WebSettingsCompat#getAttributionRegistrationBehavior 来获取当前的行为。有关更多信息,请参阅 隐私沙盒文档。(I661f2
  • 添加 API 以覆盖用户代理元数据。我们引入了一个新的 API WebSettingsCompat#setUserAgentMetadata 来覆盖 WebView 的用户代理元数据,该元数据用于填充用户代理客户端提示,并且我们还添加了另一个新的 API WebSettingsCompat#getUserAgentMetadata 来获取当前的用户代理覆盖。我们鼓励应用使用新的 API 设置正确的覆盖值,而不是依赖于更改用户代理。(I74500
  • 添加一个 API 以注入在页面加载期间运行的 JavaScript。 WebViewCompat.addDocumentStartJavascript API 允许应用将脚本注入 WebView,这些脚本将在执行任何页面脚本之前运行。该 API 允许应用为要启用的脚本指定目标来源列表,确保它仅在预期的页面上运行。与 WebView.evaluateJavascript 不同,此 API 允许在嵌入式 iframe 加载时执行脚本。(Ide063

版本 1.8

版本 1.8.0

2023 年 9 月 6 日

androidx.webkit:webkit:1.8.0 已发布。版本 1.8.0 包含这些提交。

自 1.7.0 以来重要的更改

版本 1.8.0-rc01

2023 年 8 月 9 日

androidx.webkit:webkit:1.8.0-rc01 已发布,自 1.8.0-beta01 以来没有更改。版本 1.8.0-rc01 包含这些提交。

版本 1.8.0-beta01

2023 年 7 月 26 日

androidx.webkit:webkit:1.8.0-beta01 已发布,自 1.8.0-alpha01 以来没有更改。版本 1.8.0-beta01 包含这些提交。

版本 1.8.0-alpha01

2023 年 6 月 7 日

androidx.webkit:webkit:1.8.0-alpha01 已发布。版本 1.8.0-alpha01 包含这些提交。

API 变更

  • 请参阅“外部贡献”部分。

外部贡献

  • 添加对通过 WebMessagePortCompat#postMessageJsReplyProxy#postMessageWebViewCompat#postWebMessage 传递 ArrayBuffer,通过 WebMessagePortCompatWebMessageListener 从 JavaScript 接收 ArrayBuffer,以及通过 WebMessagePortCompat 从 JavaScript 接收可传输的 ArrayBuffer 的支持。请注意,此 API 仅适用于 WebView 版本 116。(Ie7567b/251152171

版本 1.7

版本 1.7.0

2023 年 5 月 24 日

androidx.webkit:webkit:1.7.0 已发布。版本 1.7.0 包含这些提交。

自 1.6.0 以来重要的更改

  • 我们在 WebView 中添加了对 图像拖动 的支持。您可以通过将新的 DropDataContentProvider 添加到应用的清单中来启用用户将图像从 WebView 中拖出,如类文档中所述。
  • 我们添加了 ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File) API,可用于设置 WebView 将用于当前进程的基本目录。与 ProcessGlobalConfig 上的所有方法一样,必须在第一个 WebView 实例化之前调用此方法。添加此方法是为了为 Android 框架提供调整 WebView 设置的功能。对于通用应用程序,不建议使用此方法。

版本 1.7.0-rc01

2023 年 5 月 10 日

androidx.webkit:webkit:1.7.0-rc01 已发布,自 1.7.0-beta01 以来没有更改。版本 1.7.0-rc01 包含这些提交。

版本 1.7.0-beta01

2023 年 4 月 5 日

androidx.webkit:webkit:1.7.0-beta01 已发布。版本 1.7.0-beta01 包含这些提交。

API 变更

  • 对功能标志和方法名称进行了细微更改,并使 setDirectoryBasePaths() 接受 File 而不是 String(Ib0d0a

版本 1.7.0-alpha03

2023 年 3 月 8 日

androidx.webkit:webkit:1.7.0-alpha03 已发布。版本 1.7.0-alpha03 包含这些提交。

API 变更

  • 添加 ProcessGlobalConfig#setDirectoryBasePath(String, String) API,可用于设置 WebView 将用于当前进程的基本目录。(Ibd1a1b/250553687

错误修复

  • 修复使用 DexGuard 时导致构建错误的无效 ProGuard 规则(Ia65c2b/270034835

版本 1.7.0-alpha02

2023 年 2 月 8 日

androidx.webkit:webkit:1.7.0-alpha02 已发布。版本 1.7.0-alpha02 包含这些提交。

错误修复

  • DropDataContentProvider 的文档错误。

版本 1.7.0-alpha01

2023 年 1 月 25 日

androidx.webkit:webkit:1.7.0-alpha01 已发布。版本 1.7.0-alpha01 包含这些提交。

新功能

  • 我们正在添加对 WebView图像拖动 的支持。您可以通过将新的 DropDataContentProvider 添加到应用的清单中来启用用户将图像从 WebView 中拖出。(05a1a6

版本 1.6

版本 1.6.1

2023 年 3 月 22 日

androidx.webkit:webkit:1.6.1 已发布。版本 1.6.1 包含这些提交。

错误修复

  • 修复 proguard 解析错误(Ia65c2

版本 1.6.0

2023 年 1 月 25 日

androidx.webkit:webkit:1.6.0 已发布。版本 1.6.0 包含这些提交。

自 1.5.0 以来重要的更改

  • 添加了一个新的 ProcessGlobalConfig API,以允许应用提供在加载 WebView 之前需要设置的配置设置,例如 WebView 数据目录后缀。应尽早(在应用程序启动期间)设置和应用配置,以确保它发生在任何其他线程调用加载 WebView 到进程中的方法之前。
  • 添加了一个新的 CookieManagerCompat API,以使用新的 getCookieInfo 方法扩展 android.webkit.CookieManager,该方法检索在特定 URL 上设置的所有 cookie 的所有属性。这与 CookieManager 中现有的 getCookie API 不同,后者仅返回 cookie 的名称和值属性。
  • WebSettingsCompat 具有新的方法来 启用/禁用 WebView 中管理员设置的 EnterpriseAuthenticationAppLinkPolicy 的效果,以及 获取当前设置。此功能允许 WebView 打开身份验证应用,而不是打开身份验证 URL。此功能对不受企业策略管理的设备无效。
  • WebSettingsCompat 添加 新的 API,以允许应用程序在 X-Requested-With 标头中显式发送应用包名称到允许列表中的来源。传统上,此标头已从 WebView 的每个请求中发送。

版本 1.6.0-rc01

2023 年 1 月 11 日

androidx.webkit:webkit:1.6.0-rc01 已发布。版本 1.6.0-rc01 包含这些提交。

错误修复

  • 修复了在 SDK < L 上运行时 WebViewFeature.isStartupFeatureSupported(Context, String) 中的 NullPointerException 异常。(Ic7292

版本 1.6.0-beta01

2022 年 12 月 7 日

androidx.webkit:webkit:1.6.0-beta01 已发布。 版本 1.6.0-beta01 包含以下提交。

API 变更

  • ProcessGlobalConfig 已更改为使用普通构造函数和静态 apply 方法。apply 方法应该在每个进程中只调用一次,并且应尽早调用,如果调用多次,则会抛出 IllegalStateException 异常。 ProcessGlobalConfig 对象不再对设置器可以调用的次数有任何限制。(I456c3

版本 1.6.0-alpha03

2022 年 11 月 9 日

androidx.webkit:webkit:1.6.0-alpha03 已发布。 版本 1.6.0-alpha03 包含以下提交。

新功能

  • 添加了 ProcessGlobalConfig 类,允许用户在加载 WebView 之前设置进程全局配置。 WebView 有一些进程全局配置参数,一旦 WebView 加载后就无法更改(例如 WebView 数据目录)。此类允许应用设置这些参数。配置应在应用程序启动时尽早设置和应用,以确保其在任何其他线程可以调用加载 WebView 到进程的方法之前发生。(I7c0e0b/250553687
  • 添加新的 API,允许应用程序在 X-Requested-With 标头中显式发送应用程序包名称到允许列表中的来源。该标头传统上是从 WebView 的每个请求中发送的。(I0adfeb/226552535

API 变更

  • WebView 版本 105 及更高版本中,所有 Android 版本都支持 WebSettingsCompat#setAlgorithmicDarkeningAllowed API。以前版本的 WebView 仅在 Android Q 及更高版本上支持该 API。因此,此 api 不再标记为 @RequiresApi(Build.VERSION_CODES.Q)。(I3ac1d

版本 1.6.0-alpha02

2022 年 10 月 24 日

androidx.webkit:webkit:1.6.0-alpha02 已发布。 版本 1.6.0-alpha02 包含以下提交。

新功能

  • 添加了一个新的 CookieManagerCompat 类以及一个 getCookieInfo API,用于检索在特定 URL 上设置的所有 Cookie 的所有属性。这与现有的 CookieManager 中的 getCookie API 不同,后者仅返回 Cookie 的名称和值属性。(I07365b/242161756

版本 1.6.0-alpha01

2022 年 8 月 24 日

androidx.webkit:webkit:1.6.0-alpha01 已发布。 版本 1.6.0-alpha01 包含以下提交。

新功能

  • WebSettingsCompat 中添加了 API,用于启用/禁用 EnterpriseAuthenticationAppLinkPolicy 的效果(如果由管理员在 WebView 中设置)。此功能允许 WebView 打开身份验证应用程序而不是打开身份验证 URL。此功能对未由企业策略管理的设备无效。

版本 1.5.0

版本 1.5.0

2022 年 8 月 24 日

androidx.webkit:webkit:1.5.0 已发布。 版本 1.5.0 包含以下提交。

自 1.4.0 以来重要更改

  • WebSettingsCompat 上的新 setAlgorithmicDarkeningAllowed API 替换了旧的 setForceDarksetForceDarkStrategy API。面向 SDK 33 及更高版本 (T) 的应用应使用新的 API,因为旧的 API 对这些应用将不再有任何影响。
  • 现在可以通过 ProxyCofig.Builder 设置 setReverseBypassEnabledtrue 来设置使用已配置代理的 URL 允许列表。当此选项生效时,所有其他 URL 将绕过已配置的代理。

版本 1.5.0-rc01

2022 年 8 月 10 日

androidx.webkit:webkit:1.5.0-rc01 已发布,自 1.5.0-beta01 以来没有更改。 版本 1.5.0-rc01 包含以下提交。

版本 1.5.0-beta01

2022 年 6 月 29 日

androidx.webkit:webkit:1.5.0-beta01 已发布。 版本 1.5.0-beta01 包含以下提交。

API 变更

  • 现在将与算法式暗化相关的 API 注释为需要 API 级别 Q。该 API 对 API 级别 < Q 没有任何影响,因为在这些设备上暗色主题不是一个选项。(I0905e

版本 1.5.0-alpha01

2022 年 5 月 18 日

androidx.webkit:webkit:1.5.0-alpha01 已发布。 版本 1.5.0-alpha01 包含以下提交。

新功能

  • WebViewCompat 上添加了一个新的 getVariationsHeader() 方法,以获取由 WebView 发送的 X-Client-Data 标头值。返回值将是 base64 编码的 ClientVariations protobuf。
  • WebSettingsCompat 上添加 API,以允许/不允许目标 SDK >= 33 的应用程序进行算法式暗化。(I29597

API 变更

  • ProxyCofig.Builder 中添加了一个新的方法来设置反向绕过。将反向绕过设置为 true 表示只有绕过列表中的 URL 才会使用代理设置。(I9eaa2b/168728599

错误修复

  • 修复了深色主题文档中的错别字。(I36ebfb/194343633
  • 修复了 WebViewAssetLoader.Builder 方法意外地依赖于顺序的错误。(If420db/182196765

版本 1.4.0

版本 1.4.0

2020 年 12 月 16 日

androidx.webkit:webkit:1.4.0 已发布。 版本 1.4.0 包含以下提交。

自 1.3.0 以来重大更改

  • 添加了一个新的 setSafeBrowsingAllowlist() API 来替换 setSafeBrowsingWhitelist()。这有助于应用更新其代码以避免使用不包容性的术语,同时仍然支持与已弃用的 API 相同范围的 Android SDK 和 WebView 版本。
  • 修复了 setProxyOverride 中导致回退规则未正确应用的错误。

版本 1.4.0-rc02

2020 年 12 月 2 日

androidx.webkit:webkit:1.4.0-rc02 已发布。 版本 1.4.0-rc02 包含以下提交。

错误修复

  • 修复了使用 setProxyOverride 时回退规则未正确应用的问题。

版本 1.4.0-rc01

2020 年 11 月 11 日

androidx.webkit:webkit:1.4.0-rc01 已发布,自 1.4.0-beta01 以来没有更改。 版本 1.4.0-rc01 包含以下提交。

版本 1.4.0-beta01

2020 年 10 月 14 日

androidx.webkit:webkit:1.4.0-beta01 已发布,自 1.4.0-alpha01 以来没有更改。 版本 1.4.0-beta01 包含以下提交。

版本 1.4.0-alpha01

2020 年 9 月 16 日

androidx.webkit:webkit:1.4.0-alpha01 已发布。 版本 1.4.0-alpha01 包含以下提交。

API 变更

  • 添加了一个新的 WebViewCompat#setSafeBrowsingAllowlist() API 来替换 setSafeBrowsingWhitelist()。这有助于应用更新其代码以避免使用不包容性的术语,同时仍然支持与已弃用的 API 相同范围的 Android SDK 和 WebView 版本。(I8d65d

版本 1.3.0

版本 1.3.0

2020 年 8 月 19 日

androidx.webkit:webkit:1.3.0 已发布。 版本 1.3.0 包含以下提交。

自 1.2.0 以来重大更改

  • ForceDarkStrategy API 提供了对 WebView 变暗的更多控制(CSS/网页内容变暗与自动变暗)。
  • WebMessageListener 及其相关 API 提供了一种简单安全的机制来建立 Web 内容和 WebView 嵌入器应用程序之间的通信。
  • isMultiProcessEnabled API 用于检查 WebView 是否在多进程中运行。这从 Android O 开始成为可能,这意味着 Web 内容在与应用程序进程分开的沙盒渲染器进程中呈现。此沙盒渲染器可以与同一应用程序中的其他 WebView 共享,但不会与其他应用程序进程共享。

版本 1.3.0-rc02

2020 年 8 月 5 日

androidx.webkit:webkit:1.3.0-rc02 已发布。 版本 1.3.0-rc02 包含以下提交。

错误修复

  • 这修复了一个兼容性问题,在该问题中,如果您的应用使用 Android Studio 即时运行启动,则 WebMessageListener 有时会在本地开发期间崩溃。

版本 1.3.0-rc01

2020 年 6 月 24 日

androidx.webkit:webkit:1.3.0-rc01 已发布,自 1.3.0-beta01 以来没有更改。 版本 1.3.0-rc01 包含以下提交。

版本 1.3.0-beta01

2020 年 6 月 10 日

androidx.webkit:webkit:1.3.0-beta01 已发布。 版本 1.3.0-beta01 包含以下提交。

新功能

  • ForceDarkStrategy API 用于控制 WebView 变暗(CSS/网页内容变暗与自动变暗)。
  • WebMessageListener API 提供了一种简单安全的机制来建立 Web 内容和 WebView 嵌入器应用程序之间的通信。
  • MultiProcessEnabled API 用于检查 WebView 是否在多进程模式下运行。

版本 1.3.0-alpha03

2020 年 5 月 27 日

androidx.webkit:webkit:1.3.0-alpha03 已发布。 版本 1.3.0-alpha03 包含以下提交。

API 变更

  • addWebMessageListener 方法现在接收一个允许的源规则 Set<String>(之前是 List<String>)。

版本 1.3.0-alpha02

2020 年 4 月 29 日

androidx.webkit:webkit:1.3.0-alpha02 已发布。 版本 1.3.0-alpha02 包含以下提交。

新功能

  • MultiProcessEnabled API 用于检查 WebView 是否在多进程模式下运行。

API 变更

  • 所有深色策略常量现在都以 DARK_STRATEGY 为前缀。

版本 1.3.0-alpha01

2020 年 4 月 15 日

androidx.webkit:webkit:1.3.0-alpha01 已发布。 版本 1.3.0-alpha01 包含以下提交。

新功能

  • ForceDarkStrategy API 用于控制 WebView 的深色模式(CSS/网页内容深色模式与自动深色模式)。
  • WebMessageListener API 提供了一种简单安全的机制来建立 Web 内容和 WebView 嵌入器应用程序之间的通信。

版本 1.2.0

版本 1.2.0

2020 年 3 月 4 日

androidx.webkit:webkit:1.2.0 已发布。 版本 1.2.0 包含以下提交。

自 1.1.0 版本以来的主要更改

  • 添加了 ForceDark API 用于控制 WebView 是否应以深色模式渲染。

版本 1.2.0-rc01

2020 年 2 月 19 日

androidx.webkit:webkit:1.2.0-rc01 已发布,自 1.2.0-beta01 以来没有更改。 版本 1.2.0-rc01 包含以下提交。

版本 1.2.0-beta01

2020 年 2 月 5 日

androidx.webkit:webkit:1.2.0-beta01 已发布,自 1.2.0-alpha01 以来没有更改。 版本 1.2.0-beta01 包含以下提交

版本 1.2.0-alpha01

2019 年 12 月 18 日

androidx.webkit:webkit:1.2.0-alpha01 已发布。 版本 1.2.0-alpha01 包含以下提交

新功能

  • ForceDark API 用于控制 WebView 是否应以深色模式渲染。

版本 1.1.0

版本 1.1.0

2019 年 11 月 7 日

androidx.webkit:webkit:1.1.0 已发布。 版本 1.1.0 包含以下提交

自 1.0.0 版本以来的重要更改

  • 用于补充 setWebViewClient()setWebChromeClient() 的 Getter API。
  • ProxyController API 用于为应用的 WebView 设置网络请求代理。
  • WebViewAssetLoader API 用于简化通过请求拦截加载 APK 资产、资源和来自应用数据目录的文件。这允许访问 Web 和本地资源,而无需禁用 CORS。
  • TracingController API 用于收集 WebView 跟踪信息以进行调试。
  • RenderProcess API 用于管理 WebView 渲染服务,以及检测内容行为不佳导致 WebView 渲染器无响应的情况。
  • 更新了现有 API 以包含可空性 (@NonNull@Nullable) 和线程 (@UiThread@WorkerThread) 注解。

版本 1.1.0-rc01

2019 年 10 月 9 日

androidx.webkit:webkit:1.1.0-rc01 已发布。 版本 1.1.0-rc01 包含以下提交

错误修复

  • 修复了如果传递空客户端,setWebViewRenderProcessClient() 可能会崩溃的问题。

版本 1.1.0-beta01

2019 年 9 月 5 日

androidx.webkit:webkit:1.1.0-beta01 已发布。此版本中包含的提交可以在 此处 找到。

新功能

  • WebViewAssetLoader 中添加了新的 InternalStoragePathHandler 用于加载来自应用数据目录的文件。

API 更改

  • ProxyConfig#getProxyRules() 现在返回一个不可修改的 ProxyRule 实例列表,这是一个用于保存方案过滤器及其对应代理 URL 的新类。

错误修复

  • WebViewAssetLoader 在无法从文件路径猜测 MIME 类型时,默认为“text/plain” MIME 类型(而不是 null)。
  • WebViewAssetLoader 在加载路径名称中包含特殊字符的文件时,不再抛出 NullPointerException

版本 1.1.0-alpha02

2019 年 8 月 7 日

androidx.webkit:webkit:1.1.0-alpha02 已发布。此版本中包含的提交可以在 此处 找到。

新功能

  • WebViewAssetLoader 公开了 PathHandler 接口,以允许应用创建自定义路径处理功能。

API 更改

  • WebViewAssetLoader 现在是最终类,因为它不应被子类化。
  • WebViewAssetLoader#PathHandler 实现现在是公共的和最终的。
  • 对 ProxyConfig 方法名称进行了细微更改。
  • ProxyController:添加了新方法 addDirect()addDirect(String) 以直接连接到服务器;删除了 DIRECT 字符串。
  • 更新了现有 API 以包含可空性 (@NonNull@Nullable) 和线程 (@UiThread@WorkerThread) 注解。

版本 1.1.0-alpha01

2019 年 5 月 7 日

androidx.webkit:webkit:1.1.0-alpha01 已发布。此版本中包含的提交可以在 此处 找到。

新功能

  • 用于补充 setWebViewClient()setWebChromeClient() 的 Getter API
  • ProxyController API 用于为应用的 WebView 设置网络请求代理。
  • AssetLoader API 用于简化通过请求拦截加载 APK 资产和资源,从而允许访问 Web 资源而无需禁用 CORS。
  • TracingController API 用于收集 WebView 跟踪信息以进行调试。
  • RenderProcess API 用于管理 WebView 渲染服务,以及检测内容行为不佳导致 WebView 渲染器无响应的情况。

错误修复

  • 对现有 API 的文档格式进行了细微修复。