WebKit

在 Android 5 及更高版本上使用现代 WebView API。
最新更新 稳定版 候选版本 Beta 版本 Alpha 版本
2024年11月13日 1.9.0 - - 1.13.0-alpha01

声明依赖项

要添加对 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.13 版

1.13.0-alpha01 版

2024年11月13日

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

新增功能

  • 添加实验性WebView异步启动 API。(I94b8a
  • 配置文件中的URL预取:在配置文件中引入了一个新的API,允许开发者触发URL预取。预取清除:添加了一个API来清除正在进行的预取。(I42c5c)

API变更

  • 弃用 WebView.startSafeBrowsing。(If5626)

1.12版本

1.12.1版本

2024年10月2日

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

错误修复

  • 解决了阻止1.12.0 API在发行版中可用问题。

1.12.0版本

2024年9月18日

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

自1.11.0版本以来的重要更改

  • WebSettingsCompat添加了一个新的API,用于启用/禁用此WebSettingsBackForwardCache。此API为实验性API,将来可能会更改。(aosp/3111705)
  • WebSettingsCompat添加了一个新的API,用于控制此WebSettings的Speculative Loading行为。目前仅支持Prerender。此API为实验性API,将来可能会更改。(I13962)
  • 添加了一个新的API,用于在WebView中启用Web身份验证。开发者可以使用WebSettingsCompat#setWebAuthenticationSupport为其应用启用/禁用WebView中的WebAuthn调用。(I8187f)

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或更高版本。有关更多详细信息,请参阅这篇文章。(Ia60e0, b/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的Speculative Loading行为。目前仅支持Prerender。此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身份验证。开发者可以使用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中的音频播放,这类似于在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版本包含这些提交。

新增功能

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

API变更

  • URLUtilCompat变为最终类,因为它不应该被子类化。(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类型的建议文件名。(If6ae7, b/309927164)

1.10版本

1.10.0版本

2024年1月24日

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

自1.9.0版本以来的重要更改

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,用于通过完全禁用API或限制在API响应中共享应用程序标识来控制实验性的Android WebView媒体完整性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
  • 使用 @UiThread 注解 ProfileStoreWebViewCompat#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 中的 Web 内容。此方法也可用于禁用 WebView 中的归因报告。此外,我们还添加了一个新的 API WebSettingsCompat#getAttributionRegistrationBehavior 来获取当前的行为。更多信息请参见 隐私沙盒文档。(I661f2
  • 添加了覆盖用户代理元数据的 API。我们引入了一个新的 API WebSettingsCompat#setUserAgentMetadata 用于覆盖 WebView 的用户代理元数据,该元数据用于填充用户代理客户端提示,我们还添加了另一个新的 API WebSettingsCompat#getUserAgentMetadata 来获取当前的用户代理覆盖。我们鼓励应用程序使用新的 API 设置正确的覆盖值,而不是依赖于更改用户代理。(I74500
  • 添加了一个 API 用于注入在页面加载期间运行的 Javascript。WebViewCompat.addDocumentStartJavascript API 允许应用程序将脚本注入到 WebView 中,这些脚本将在执行任何页面脚本之前运行。该 API 允许应用程序指定脚本应启用的目标来源列表,确保它仅在预期的页面上运行。(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将用于当前进程的基目录。(Ibd1a1, b/250553687)

错误修复

  • 修复使用DexGuard时导致构建错误的无效ProGuard规则(Ia65c2, b/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。此功能对不受企业策略管理的设备无效。
  • 添加新的 APIWebSettingsCompat,允许应用程序显式地在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已更改为使用普通构造函数和静态应用方法。应用方法每个进程应仅调用一次,尽早调用,如果调用多次,则会抛出IllegalStateExceptionProcessGlobalConfig对象不再对可以调用setter的次数有任何限制。(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到进程的方法之前发生。(I7c0e0, b/250553687)
  • 添加新的 API,允许应用程序显式地在 X-Requested-With 标头中发送应用包名称到允许列出的来源。该标头传统上是从WebView的每个请求中发送的。(I0adfe, b/226552535)

API变更

  • WebSettingsCompat#setAlgorithmicDarkeningAllowed API 在 WebView 105 及更高版本的所有 Android 版本中都受支持。以前版本的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,该 API 检索在特定 URL 上设置的所有 Cookie 的所有属性。这与CookieManager中现有的getCookie API 不同,后者仅返回 Cookie 的名称和值属性。(I07365, b/242161756)

版本 1.6.0-alpha01

2022年8月24日

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

新增功能

  • WebSettingsCompat中添加了 API 来启用/禁用WebView中管理员设置的EnterpriseAuthenticationAppLinkPolicy的效果。此功能允许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 提供了一种简单而安全的机制,用于在网页内容和 WebView 嵌入式应用程序之间建立通信。
  • isMultiProcessEnabled API 用于检查 WebView 是否在多进程中运行。这从 Android O 开始成为可能,这意味着网页内容在与应用程序进程分开的沙盒渲染器进程中呈现。此沙盒渲染器可以与同一应用程序中的其他 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 提供了一种简单而安全的机制,用于在网页内容和 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 提供了一种简单而安全的机制,用于在网页内容和 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 的文档格式进行了细微的修复。