浏览器

在用户的默认浏览器中显示网页。
最新更新 稳定版 候选发布版 Beta 版 Alpha 版
2025 年 5 月 20 日 1.8.0 - - 1.9.0-alpha04

声明依赖项

要添加对 Browser 的依赖项,您必须将 Google Maven 代码库添加到您的项目中。如需了解详情,请阅读Google 的 Maven 代码库

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

Groovy

dependencies {
    implementation "androidx.browser:browser:1.8.0"
}

Kotlin

dependencies {
    implementation("androidx.browser:browser:1.8.0")
}

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

反馈

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

创建新问题

如需了解详情,请参阅问题跟踪器文档

版本 1.9

版本 1.9.0-alpha04

2025 年 5 月 20 日

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

API 更改

  • 为自定义标签页添加了新的 Intent extra (I911e0)
  • TWADisplayMode 添加了 BrowserMiminalUi 模式 (I230b5)
  • 添加了临时浏览功能检查 API (I17d42)
  • 移除 PendingSession API 的实验性注解 (Id6fe3)
  • 添加了 Auth Tab 功能检查 API (Ifc029)
  • 移除了自定义标签页最小化信号的实验性注解 (If2b44)

版本 1.9.0-alpha03

2025 年 4 月 23 日

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

API 更改

  • 从 Auth Tab 中移除了实验性注解。(I786ff)

版本 1.9.0-alpha02

2025 年 4 月 9 日

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

新功能

API 更改

  • CustomTabsClient#createPendingAuthTabSession 添加了重载。(I71c3a)
  • 更新了 Auth Tab API (Iaf9b1)
  • TrustedWebActivityIntent 现在包含启动处理程序 API 客户端模式,允许浏览器使用此 API。(Ifc95c)
  • TrustedWebActivityIntent 现在包含通过应用注册的 Intent 过滤器打开的文件 URI,并授予浏览器对这些文件的读写权限。(I2134a)
  • TrustedWebActivityIntent 现在在其 extras 中包含原始启动的 URL,当协议处理程序使用时,为浏览器添加上下文。(I3759a)
  • 添加了一个新 API,用于启用/禁用自定义标签页的关闭按钮。(I35acd)
  • 为 Auth Tab 添加了关闭按钮图标自定义支持 (Iaf877)

版本 1.9.0-alpha01

2025 年 1 月 29 日

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

API 更改

  • 为 Auth Tab 添加了浏览器连接/会话支持。(I6e47b)
  • 添加了一个新 API CustomTabsSession#isEphemeralBrowsingSupported,用于确定是否支持临时浏览 (Ie4dea, b/384548523)
  • 为 Auth Tab API 添加了配色方案参数支持。(I630e1)
  • 为自定义标签页添加了实验性临时浏览选项 (I9549d)
  • 更新了实验性 Auth Tab API (I8b674)
  • 添加了新 API,用于检查自定义标签页提供程序是否支持多网络。(I4307a)
  • 添加了新的服务 Intent 过滤器类别以支持多网络。(I4354a)
  • 添加了新 API,用于在通过自定义标签页启动 URL 时设置/获取绑定的网络。(I493e1)
  • 添加了实验性 Auth Tab API (I9b4d4)
  • PendingSession 新增了实验性 API (Ib40e5)

错误修复

  • 更新了 AuthTabIntent Javadoc (I2490c)
  • 修复了 Auth Tab 中的会话支持问题 (I4e280)
  • 此库现在使用JSpecify 空性注解,这些注解是类型用途的。Kotlin 开发者应使用以下编译器参数来强制正确使用:-Xjspecify-annotations=strict(这是 Kotlin 编译器 2.1.0 版及更高版本的默认设置)。(Ic7bf5, b/326456246)
  • 移除了对新平台 API 访问的手动概述,因为当 R8 与 AGP 7.3 或更高版本(例如 R8 3.3 版)结合使用时,以及当 AGP 8.1 或更高版本(例如 D8 8.1 版)用于所有构建时,这都会通过 API 建模自动发生。不使用 AGP 的客户端建议更新到 D8 8.1 版或更高版本。如需了解详情,请参阅本文。(I9496c, b/345472586)

外部贡献

  • 引入新的 IPC 调用 ICustomTabsService#prefetchWithMultipleUrls,以避免单个 URL 的多次 IPC 调用。(Ie5025)
  • 使 CustomTabsSession#prefetchCustomTabsSession 的会话 id(mID) 传播到 CustomTabsService。(I4ec7b)
  • 添加一个新的实验性 API CustomTabsSession#prefetch(List<Uri>, PrefetchOptions),它重载了现有 API 以接受多个 URL。(I54f35)
  • 添加了一个新的实验性 API CustomTabsSession#prefetch(Uri, PrefetchOptions),它尝试预取主页面(不含子资源)以用于未来的导航。(I340cf)

版本 1.8

版本 1.8.0

2024 年 3 月 6 日

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

自 1.7.0 以来的重要更改

  • 添加了 CustomTabsIntent.Builder#setInitialActivityWidthPx,允许开发者指定自定义标签页的初始启动宽度。(I443f6)
  • 添加了 CustomTabsIntent.Builder#setActivitySideSheetPosition,允许开发者指定自定义标签页作为侧边栏时的位置。(I443f6)
  • 添加了 CustomTabsIntent.Builder#setActivitySideSheetDecorationType,允许开发者指定自定义标签页作为侧边栏时的装饰类型。(I443f6)
  • 添加了 CustomTabsIntent.Builder#setActivitySideSheetRoundedCornersPosition,允许开发者指定自定义标签页作为侧边栏时圆角的位置。(I443f6)
  • 添加了 CustomTabsIntent.Builder#setActivitySideSheetMaximizationEnabled,允许开发者在自定义标签页作为侧边栏时启用或禁用最大化按钮。(Ie3564)
  • 在接口 CustomTabsCallback 中添加了 onActivityLayout 回调方法,以便开发者了解自定义标签页所占区域的坐标及其显示状态。当自定义标签页首次显示在屏幕上以及每次所占区域更改时,都会调用此方法。(I443f6)
  • 在接口 CustomTabsCallback 中添加了 onWarmupCompleted 回调方法,以便开发者了解 CustomTabsClient#warmupfinishes 何时完成浏览器进程的预热。(I107cf)
  • CustomTabsSession#setEngagementSignalsCallbackCustomTabsSession#isEngagementSignalsApiAvailable 的 extras 中添加了会话 ID。(Iba7f1)
  • 添加了对最小化自定义标签页 API 的实验性支持。(I67f2d)

版本 1.8.0-rc01

2024 年 2 月 21 日

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

版本 1.8.0-beta02

2024 年 2 月 7 日

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

API 更改

  • CustomTabsIntent.Builder#setActivitySideSheetEnableMaximization 重命名为 CustomTabsIntent Builder#setActivitySideSheetMaximizationEnabled 并将其设为公共 API。它允许开发者在自定义标签页作为侧边栏时启用或禁用最大化按钮。(Ie3564)

版本 1.8.0-beta01

2023 年 11 月 29 日

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

新功能

  • 添加了对最小化自定义标签页 API 的实验性支持。(I67f2d)

版本 1.8.0-alpha01

2023 年 11 月 15 日

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

新功能

  • 添加了 CustomTabsIntent.Builder#setInitialActivityWidthPx,允许开发者指定自定义标签页的初始启动宽度。(I443f6)
  • 添加了 CustomTabsIntent.Builder#setActivitySideSheetBreakpointDp,允许开发者指定自定义标签页用作侧边栏所需的最小窗口宽度。(I443f6)
  • 添加了 CustomTabsIntent.Builder#setActivitySideSheetPosition,允许开发者指定自定义标签页作为侧边栏时的位置。(I443f6)
  • 添加了 CustomTabsIntent.Builder#setActivitySideSheetEnableMaximization,允许开发者在自定义标签页作为侧边栏时启用或禁用最大化按钮。(I443f6)
  • 添加了 CustomTabsIntent.Builder#setActivitySideSheetDecorationType,允许开发者指定自定义标签页作为侧边栏时的装饰类型。(I443f6)
  • 添加了 CustomTabsIntent.Builder#setActivitySideSheetRoundedCornersPosition,允许开发者指定自定义标签页作为侧边栏时圆角的位置。(I443f6)
  • 在接口 CustomTabsCallback 中添加了 onActivityLayout 回调方法,以便开发者了解自定义标签页所占区域的坐标及其显示状态。当自定义标签页首次显示在屏幕上以及每次所占区域更改时,都会调用此方法。(I443f6)
  • 在接口 CustomTabsCallback 中添加了 onWarmupCompleted 回调方法,以便开发者了解 CustomTabsClient#warmup 何时完成浏览器进程的预热。(I107cf)

错误修复

  • ​​在 CustomTabsSession#setEngagementSignalsCallbackCustomTabsSession#isEngagementSignalsApiAvailable 的 extras 中添加了会话 ID。(Iba7f1)

版本 1.7

版本 1.7.0

2023 年 11 月 15 日

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

自 1.6.0 以来的重要更改

  • 添加了 CustomTabsIntent.Builder#setBookmarksButtonEnabled,可在溢出菜单中启用书签按钮。(Ia792e)
  • 添加了 CustomTabsIntent.Builder#setDownloadButtonEnabled,可在溢出菜单中启用下载按钮。(Ia792e)
  • 添加了 CustomTabsIntent.Builder#setSendToExtraDefaultHandlerEnabled,可启用将初始 URL 发送到外部处理程序应用的功能。(Ia792e)
  • 添加了 CustomTabsIntent.Builder#setTranslateLanguage,用于指定应触发翻译 UI 的目标语言。(Ia792e)
  • 添加了 CustomTabsIntent.Builder#setBackgroundInteractionEnabled,可在启动部分自定义标签页时启用与后台应用的交互。(Ia792e)
  • 添加了 CustomTabsIntent.Builder#setShareIdentityEnabled,允许自定义标签页获取调用者的身份。(I7bf2b)
  • 添加了 CustomTabsIntent.Builder#setSecondaryToolbarSwipeUpGesture,用于设置当用户从底部工具栏向上滑动时要发送的 PendingIntent。(Id42a2)

版本 1.7.0-rc01

2023 年 11 月 1 日

androidx.browser:browser:1.7.0-rc01 已发布,无任何更改。版本 1.7.0-rc01 包含这些提交。

  • 自 alpha-01 以来无更改

版本 1.7.0-beta01

2023 年 10 月 18 日

androidx.browser:browser:1.7.0-beta01 已发布,无任何更改。版本 1.7.0-beta01 包含这些提交。

版本 1.7.0-alpha01

2023 年 10 月 4 日

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

新功能

  • 添加了 CustomTabsIntent.Builder#setBookmarksButtonEnabled,可在溢出菜单中启用书签按钮。(Ia792e)
  • 添加了 CustomTabsIntent.Builder#setDownloadButtonEnabled,可在溢出菜单中启用下载按钮。(Ia792e)
  • 添加了 CustomTabsIntent.Builder#setSendToExtraDefaultHandlerEnabled,可启用将初始 URL 发送到外部处理程序应用的功能。(Ia792e)
  • 添加了 CustomTabsIntent.Builder#setTranslateLanguage,用于指定应触发翻译 UI 的目标语言。(Ia792e)
  • 添加了 CustomTabsIntent.Builder#setBackgroundInteractionEnabled,可在启动部分自定义标签页时启用与后台应用的交互。(Ia792e)
  • 添加了 CustomTabsIntent.Builder#setShareIdentityEnabled,允许自定义标签页获取调用者的身份。(I7bf2b)
  • 添加了 CustomTabsIntent.Builder#setSecondaryToolbarSwipeUpGesture,用于设置当用户从底部工具栏向上滑动时要发送的 PendingIntent。(Id42a2)

版本 1.6

版本 1.6.0

2023 年 8 月 9 日

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

版本 1.6.0-rc01

2023 年 7 月 26 日

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

版本 1.6.0-beta01

2023 年 6 月 21 日

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

版本 1.6.0-alpha02

2023 年 6 月 7 日

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

API 更改

  • 移除了 CustomTabsSession#getGreatestScrollPercentage。(I6c5ba)
  • 添加了一个新的 requestPostMessageChannel API,允许指定目标来源。这意味着用户可以确定他们的消息只发送到他们预期的网站。(Id5b7f)

错误修复

  • 更新了 EngagementSignalsCallback 文档。(Ie833c)

版本 1.6.0-alpha01

2023 年 5 月 3 日

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

新功能

  • 添加了用户互动信号 API,允许开发者接收网页上用户互动(例如滚动)的回调。(I835e6)

API 更改

  • 更新了用户互动信号 API,以简化自定义标签页实现端的 API 表面。(Iaa6dc)

版本 1.5

版本 1.5.0

2023 年 2 月 8 日

androidx.browser:browser:1.5.0 已发布。版本 1.5.0 包含这些提交。

自 1.4.0 以来的重要更改

  • 添加了 CustomTabsIntent.Builder#setInitialActivityHeightPx,允许开发者指定自定义标签页的初始启动高度,以及可选的调整大小行为(固定或可调整大小)。(I48bd3)
  • 添加了 CustomTabsIntent.Builder#setToolbarCornerRadiusDp,允许开发者指定工具栏的顶部圆角半径。(I48bd3)
  • 添加了 CustomTabsIntent.Builder#setCloseButtonPosition,允许开发者设置工具栏上关闭按钮的位置。(I48bd3)
  • 在接口 CustomTabsCallback 中添加了 onActivityResized 回调方法,以便开发者了解自定义标签页何时调整大小。(Ic864e)
  • 使 CustomTabsCallback API 的部分内容异步化。(Ic86df)
  • 默认在 Accept-Language 中填充当前应用的语言,以与 Android 的每应用语言体验保持一致。(I3d1d7)
  • 为需要授予 SDK 33 及更高版本上 POST_NOTIFICATIONS 权限的 API 添加了 @RequiresPermission。此功能是在内部分支中开发的。参考 b/238790278

版本 1.5.0-rc01

2023 年 1 月 25 日

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

  • 自 1.5.0-beta01 以来无更改。

版本 1.5.0-beta01

2023 年 1 月 11 日

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

  • 自 1.5.0-alpha02 以来无更改

版本 1.5.0-alpha02

2022 年 12 月 7 日

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

API 更改

  • 更改了 CustomTabsCallback#onActivityResized 行为并为其添加了新参数。
  • EXTRA_ACTIVITY_RESIZE_BEHAVIOR 重命名为 EXTRA_ACTIVITY_RESIZE_HEIGHT_BEHAVIOR,以更好地反映其高度特异性。(Ic864e)
  • 使 CustomTabsCallback API 的部分内容异步化。(Ic86df)

版本 1.5.0-alpha01

2022 年 10 月 24 日

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

新功能

  • 添加了 CustomTabsIntent.Builder#setInitialActivityHeightPx,允许开发者指定自定义标签页的初始启动高度,以及可选的调整大小行为(固定或可调整大小)。(I48bd3)
  • 添加了 CustomTabsIntent.Builder#setToolbarCornerRadiusDp,允许开发者指定工具栏的顶部圆角半径。(I48bd3)
  • 添加了 CustomTabsIntent.Builder#setCloseButtonPosition,允许开发者设置工具栏上关闭按钮的位置。(I48bd3)
  • 在接口 CustomTabsCallback 中添加了 onActivityResized 回调方法,以便开发者了解自定义标签页何时调整大小(扩展到全高或最小化回初始启动高度)。(Id99ce)
  • 默认在 Accept-Language 中填充当前应用的语言,以与 Android 的每应用语言体验保持一致。(I3d1d7)

API 更改

  • 为需要授予 SDK 33 及更高版本上 POST_NOTIFICATIONS 权限的 API 添加了 @RequiresPermission。此功能是在内部分支中开发的。参考 b/238790278

版本 1.4.0

版本 1.4.0

2021 年 11 月 3 日

androidx.browser:browser:1.4.0 已发布。版本 1.4.0 包含这些提交。

自 1.3.0 以来的重要更改

  • 将 PendingIntent 标记为 PendingIntent.FLAG_IMMUTABLE,以兼容 Android 12。

版本 1.4.0-rc01

2021 年 10 月 13 日

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

版本 1.4.0-beta01

2021 年 9 月 29 日

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

版本 1.4.0-alpha01

2021 年 9 月 15 日

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

错误修复

  • 将 PendingIntent 标记为 PendingIntent.FLAG_IMMUTABLE 以兼容 Android 12。

版本 1.3.0

版本 1.3.0

2020年12月2日

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

自 1.2.0 版本以来的主要功能

  • 通过调用 TrustedWebActivityServiceConnection#sendExtraCommand,可以将自由格式命令从浏览器传递到受信任的 Web Activity 客户端。客户端可以在 TrustedWebActivityService#onExtraCommand 中处理这些命令。
  • 添加了 TrustedWebActivityCallback 接口,可供受信任的 Web Activity 客户端用于向浏览器返回数据。
  • 添加了 CustomTabsIntent#setShareState,允许开发者指定是否显示分享选项(或由浏览器决定)。
  • 开发者现在可以使用 TrustedWebActivityIntentBuilder 中的 setScreenOrientation 方法设置默认屏幕方向。
  • 已将 setNavigationBarDividerColor 方法添加到 CustomTabColorSchemeParams,以支持更改导航栏分隔线的颜色。
  • 添加了 CustomTabsIntent.Builder#setDefaultColorSchemeParams 以取代现已弃用的 #setNavigationBarColor#setNavigationBarDividerColor#setToolbarColor#setSecondaryToolbarColor 方法。
  • 添加了 CustomTabsClient#bindCustomTabsServicePreservePriority 方法,允许在不使用 Context.BIND_WAIVE_PRIORITY 标志的情况下连接到 Custom Tabs 服务。

版本 1.3.0-rc01

2020年11月11日

androidx.browser:browser:1.3.0-rc01 已发布,自 1.3.0-beta01 以来无任何更改。 版本 1.3.0-rc01 包含以下提交。

版本 1.3.0-beta01

2020年10月28日

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

API 更改

  • bindCustomTabServicePreservePriority 重命名为 bindCustomTabsServicePreservePriority (I29ac1)

错误修复

  • androidx 中已启用 MissingGetterMatchingBuilder 的 API lint 检查 (I4bbea, b/138602561)

版本 1.3.0-alpha06

2020年10月1日

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

新功能

  • 添加了 CustomTabsIntent#setShareState,允许开发者将分享状态设置为启用、禁用或由浏览器决定。(I153fe)
  • 添加了 CustomTabsIntent.Builder#setDefaultColorSchemeParams,该方法应取代现已弃用的 #setNavigationBarColor、#setNavigationBarDividerColor、#setToolbarColor 和 #setSecondaryToolbarColor 方法。(I09012)

API 更改

  • androidx 中已启用 StaticFinalBuilder 的 API lint 检查 (I2b11b, b/138602561)
  • 添加了 CustomTabsService#KEY_SUCCESS 和 TrustedWebActivityService#KEY_SUCCESS,可用于指示 extraCommand 成功。(I6f7b5)

版本 1.3.0-alpha05

2020年8月5日

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

新功能

  • 允许设置已启动的受信任 Web Activity 的方向。
  • 允许为受信任 Web Activity 和自定义标签页设置导航栏分隔线颜色。

API 更改

  • TrustedWebActivityIntentBuilder 中添加了 setScreenOrientation 方法。
  • ScreenOrientation.LockType 添加了 @IntDef 以表示锁定类型 (I802d2)
  • setNavigationBarDividerColor 方法添加到 TrustedWebActivityIntentBuilderCustomTabColorSchemeParams。(Ia04dd)
    • 为采用颜色方案的 TrustedWebActivityIntentBuilder 方法添加了 @IntDef

版本 1.3.0-alpha04

2020年6月24日

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

新功能

  • 添加了 CustomTabsClient#bindCustomTabServicePreservePriority 方法,允许在不使用 Context.BIND_WAIVE_PRIORITY 标志的情况下连接到 Custom Tabs 服务。

版本 1.3.0-alpha03

2020年6月10日

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

新功能

  • 添加了 TrustedWebActivityCallback 接口,可供受信任的 Web Activity 客户端用于向浏览器返回数据。(I64dbb)

API 更改

  • TrustedWebActivityServiceConnection.extraCommand 现在也接受一个 @Nullable TrustedWebActivityCallback 参数。bundle 参数现在标记为 @NonNull 而不是 @Nullable。(I64dbb)
  • TrustedWebActivityServiceConnection.extraCommand 方法已重命名为 sendExtraCommand (Id29a8)
  • CustomTabsIntent.Builder#addDefaultShareMenuItem() 已弃用,取而代之的是新的 #setDefaultShareMenuItemEnabled(boolean)CustomTabsIntent.Builder#enableUrlBarHiding() 已弃用,取而代之的是新的 #setUrlBarHidingEnabled(boolean)。(Iad702)

版本 1.3.0-alpha01

2020年1月8日

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

新功能

  • 通过调用 TrustedWebActivityServiceConnection#extraCommand,可以将自由格式命令从浏览器传递到受信任的 Web Activity 客户端。客户端可以在 TrustedWebActivityService#onExtraCommand 中处理这些命令。

API 变更

  • 提供给 CustomTabsSession#mayLauncherUrl 并由 CustomTabsService#mayLaunchUrl 接收的 URL 已设为 @Nullable

版本 1.2.0

版本 1.2.0

2019年12月18日

androidx.browser:browser:1.2.0 已发布,自 1.2.0-rc01 以来无任何更改。 版本 1.2.0 包含以下提交

自 1.0.0 版本以来的重大更改

  • 受信任的 Web Activity
    • 受信任的 Web Activity 的支持现已稳定。
    • TrustedWebActivityIntentBuilder 可用于自定义和创建 TrustedWebActivityIntent,以启动受信任的 Web Activity。
    • TrustedWebActivityService 可以包含或扩展,以允许客户端显示浏览器向其传递的 Web 推送通知。
    • 浏览器可以使用 TrustedWebActivityServiceConnectionPool 连接到客户端中的 TrustedWebActivityService。一个 TrustedWebActivityServiceConnection 代表这样一种连接。
    • 受信任的 Web Activity 可以启动,并向 Web Share Target 提供信息。
  • 深色主题
    • 开发者可以通过 CustomTabColorSchemeParams 提供在设备处于浅色或深色模式时使用的不同主题颜色。
    • 开发者可以请求浏览器本身处于浅色或深色模式。
  • 会话恢复
    • 可以使用 ID 创建 CustomTabsSession,从而允许合并来自相同客户端和 ID 的后续自定义标签页启动。
  • 可以为自定义标签页指定导航栏颜色。
  • 与浏览器操作相关的类因功能使用率极低而被标记为已弃用,并将在库的未来版本中移除。

版本 1.2.0-rc01

2019年12月4日

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

Bug 修复

  • 修复了代码示例的 Javadoc 格式问题。

版本 1.2.0-beta01

2019年11月20日

androidx.browser:browser:1.2.0-beta01 已发布,自 1.2.0-alpha09 以来无任何更改。 版本 1.2.0-beta01 包含以下提交

版本 1.2.0-alpha09

2019年10月23日

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

新功能

  • Token 类可用于表示软件包的身份,它包含软件包名称和软件包签名证书的签名。
    • 它旨在序列化为 byte[] 以进行持久化。
    • 它由 TrustedWebActivityService 用于确定允许哪些 TWA 提供商连接到它。
    • 它由 TWA 提供商的 TrustedWebActivityConnectionPool 用于确定哪些软件包可有效连接。
  • TokenStore 接口现在由 TrustedWebActivityService 用于确定允许哪个应用连接到它。
    • 由客户端调用 TokenStore#store,而 TrustedWebActivityService 仅加载 Token。
  • TrustedWebActivityServiceConnectionPool(之前为 TrustedWebActivityServiceConnectionManager)不再存储已验证软件包集
    • registerClientgetVerifiedPackages 现已移除。
    • 现在手动将已验证软件包的集合提供给 execute(之前为 connect)和 serviceExistsForScope
  • TrustedWebActivityService 将存储已验证提供商的任务委托给重写类。
    • setVerifiedProvider 已移除。
    • 客户端必须实现 getTokenStore,该方法返回一个可用于存储和检索 TokenTokenStore

API 变更

  • TrustedWebActivityServiceConnectionManager
    • 现在称为 TrustedWebActivityServiceConnectionPool
    • 现在是 final。
    • 通过静态 create 方法构造,而不是通过公共构造函数。
  • TrustedWebActivityService
    • 可重写方法上具有线程注解。
  • TrustedWebActivityServiceWrapper
    • 现在称为 TrustedWebActivityServiceConnection
    • 现在是 final。
    • 现在抛出原始 RemoteException,而不是将其包装在 RuntimeException 中。
  • ShareTarget#FileFormField 类现在是 final。
  • TrustedWebUtils#splashScreensAreSupported 方法已重命名为 areSplashScreensSupported
  • TrustedWebActivityIntentBuilder#getUrl 方法已重命名为 TrustedWebActivityIntentBuilder#getUri
  • SplashScreenParamKey 静态字段已添加 KEY_ 前缀。

版本 1.2.0-alpha08

2019年9月18日

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

新功能

  • 为受信任的 Web Activity 引入了新的共享目标 API。使用受信任的 Web Activity 的应用现在可以向其 Web 共享目标发送数据,该目标由协议 https://wicg.github.io/web-share-target/level-2/ 定义 (aosp/I47b93, aosp/I0ec3e)

API 变更

  • 将回调 extraCallbackWithResult 添加到 ICustomTabsCallback (aosp/Ic2cc2)
  • 将一些 CustomTabsSession 方法参数标记为 Nullable 或 NonNull (aosp/Iec460)
  • TrustedWebActivityIntentBuilder 现在构建 TrustedWebActivityIntent 而不是原始 intent (aosp/I03fb6)

Bug 修复

  • CustomTabsClient 现在根据需要使用旧版 requestPostMessageChannel (aosp/Ibb324)
  • 修复了 CustomTabsSessionToken#equals (aosp/I7f249)
  • CustomTabsClient 现在尽可能使用旧版 newSession (aosp/Ie27dc)

外部贡献

版本 1.2.0-alpha07

2019年8月7日

androidx.browser:browser:1.2.0-alpha07 已发布。此版本中包含的提交可在此处找到。

新功能

  • 深色主题

    • 开发者可以提供在设备处于深色模式时使用的主题颜色。
    • 开发者还可以覆盖已启动的浏览器应处于深色模式还是浅色模式。
    • 可以为自定义标签页指定导航栏颜色。
  • 受信任的 Web Activity

    • TrustedWebActivityBuilder 可用于轻松创建和启动受信任的 Web Activity
    • TrustedWebActivityService 和相关类可用于与提供商通信 - 接受链接网站的 Web 推送通知并从客户端应用显示它们。API 的这一部分可能会更改。
  • 自定义标签页会话 ID

    • 现在可以使用 ID 创建自定义标签页会话,从而允许合并由同一应用程序使用相同 ID 启动的两个会话。

API 变更

  • 与浏览器操作相关的类和方法已被标记为已弃用。遗憾的是,虽然我们对该功能寄予厚望,但几乎没有人最终使用它,而且只有一个浏览器最终提供了支持。我们正在弃用它,以保持代码和 API 的简洁。

版本 1.0.0

版本 1.0.0

2018年9月21日

browser-1.0.0 已发布。