Browser
最近更新时间 | 稳定版 | 候选版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2023 年 2 月 8 日 | 1.5.0 | - | - | - |
声明依赖项
如需添加 Browser 的依赖项,您必须将 Google Maven 代码库添加到项目中。如需了解详情,请参阅 Google 的 Maven 代码库。
在应用或模块的 build.gradle
文件中为所需制品添加依赖项:
Groovy
dependencies { implementation "androidx.browser:browser:1.5.0" }
Kotlin
dependencies { implementation("androidx.browser:browser:1.5.0") }
如需详细了解依赖项,请参阅添加 build 依赖项。
反馈
您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。
如需了解详情,请参阅问题跟踪器文档。
版本 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 中包含这些提交内容。
bug 修复
- 将 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
,自由格式命令可从浏览器传递到 Trusted Web Activity 客户端。该客户端可以在TrustedWebActivityService#onExtraCommand
中处理这些命令 - 添加了
TrustedWebActivityCallback
接口,可供 Trusted Web Activity 客户端用来将数据返回到浏览器。 - 添加了
CustomTabsIntent#setShareState
,可让开发者指定是否显示分享选项(或者由浏览器自行决定)。 - 现在,开发者可以使用
TrustedWebActivityIntentBuilder
中的setScreenOrientation
方法设置默认屏幕方向 - 向
CustomTabColorSchemeParams
中添加了setNavigationBarDividerColor
方法,以支持更改导航栏分隔线的颜色。 - 添加了
CustomTabsIntent.Builder#setDefaultColorSchemeParams
,用于替换现已弃用的#setNavigationBarColor
、#setNavigationBarDividerColor
、#setToolbarColor
和#setSecondaryToolbarColor
方法 - 添加了
CustomTabsClient#bindCustomTabsServicePreservePriority
方法,让您无需使用Context.BIND_WAIVE_PRIORITY
标记即可连接到自定义标签页服务。
版本 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)
bug 修复
- 针对 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,其允许开发者将共享状态设为“enabled”或“disabled”,或者由浏览器自行决定。(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
。版本 Version 1.3.0-alpha05 中包含这些提交内容。
新功能
- 允许设置已启动的 Trusted Web Activity 的方向。
- 允许为 Trusted Web Activity 和自定义标签页设置导航栏分隔线颜色。
API 变更
- 在
TrustedWebActivityIntentBuilder
中添加了setScreenOrientation
方法。 - 为
ScreenOrientation.LockType
添加了@IntDef
,用于表示锁定类型 (I802d2) - 向
TrustedWebActivityIntentBuilder
和CustomTabColorSchemeParams
添加了setNavigationBarDividerColor
方法。(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
标记即可连接到自定义标签页服务。
版本 1.3.0-alpha03
2020 年 6 月 10 日
发布了 androidx.browser:browser:1.3.0-alpha03
。版本 1.3.0-alpha03 中包含这些提交内容。
新功能
- 添加了
TrustedWebActivityCallback
接口,可供 Trusted Web Activity 客户端用来将数据返回到浏览器。(I64dbb)
API 变更
TrustedWebActivityServiceConnection.extraCommand
现在还采用@Nullable
TrustedWebActivityCallback
参数。该软件包参数现在标记为@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
,自由格式命令可从浏览器传递到 Trusted Web Activity 客户端。该客户端可以在TrustedWebActivityService#onExtraCommand
中处理这些命令。
API 变更
- 提供给
CustomTabsSession#mayLauncherUrl
并在CustomTabsService#mayLaunchUrl
中收到的网址已设为@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 以来的重要变更
- Trusted Web Activity
- 对 Trusted Web Activity 的支持现在很稳定。
TrustedWebActivityIntentBuilder
可用于自定义和创建TrustedWebActivityIntent
,以启动 Trusted Web Activity。- 您可以添加或扩展
TrustedWebActivityService
,以允许客户端显示浏览器向其发送的网络推送通知。 - 浏览器可使用
TrustedWebActivityServiceConnectionPool
连接到客户端中的TrustedWebActivityService
。TrustedWebActivityServiceConnection
表示此类连接。 - 可以启动 Trusted Web Activity,并向 Web Share Target 提供信息。
- 深色主题
- 开发者可以(通过
CustomTabColorSchemeParams
)提供要在设备处于光亮模式或深色模式时使用的不同主题背景颜色。 - 开发者可以要求浏览器本身处于光亮模式或深色模式。
- 开发者可以(通过
- 会话恢复
- 可以创建带有 ID 的
CustomTabsSession
,这样能够合并从同一客户端和 ID 启动的后续自定义标签页。
- 可以创建带有 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 提供程序与其连接。TrustedWebActivityConnectionPool
(根据 TWA 提供程序)使用它来确定连接到哪些软件包是有效的配置。
TrustedWebActivityService
现在使用TokenStore
接口来确定允许哪个应用与其连接。- 由客户端来调用
TokenStore#store
,TrustedWebActivityService
仅加载令牌。
- 由客户端来调用
TrustedWebActivityServiceConnectionPool
(之前为 TrustedWebActivityServiceConnectionManager)不再存储一组经过验证的软件包:- 现已移除
registerClient
和getVerifiedPackages
。 - 现在,向
execute
(之前为connect
)和serviceExistsForScope
手动提供经过验证的软件包集合。
- 现已移除
TrustedWebActivityService
委托给替换类来存储经过验证的提供程序。- 已移除
setVerifiedProvider
。 - 客户端必须实现
getTokenStore
,它会返回可用于存储和检索Token
的TokenStore
。
- 已移除
API 变更
TrustedWebActivityServiceConnectionManager
类:- 现在称为
TrustedWebActivityServiceConnectionPool
。 - 现已最终确定。
- 由静态
create
方法而不是公共构造函数构造而成。
- 现在称为
TrustedWebActivityService
类:- 包含可替换方法的线程注释。
TrustedWebActivityServiceWrapper
类:- 现在称为
TrustedWebActivityServiceConnection
。 - 现已最终确定。
- 现在抛出原始的 RemoteException,而不是将它们封装在 RuntimeException 中。
- 现在称为
ShareTarget#FileFormField
类现已最终确定。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 中包含这些提交内容。
新功能
- 引入了适用于 Trusted Web Activity 的新 Share Target API。使用 Trusted Web Activity 的应用现在可以将数据发送到它们的 Web Share Target(由协议 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)
外部贡献
- 针对 androidx 启用了 MinMaxConstant 的 API lint 检查 (aosp/I29b78) (b/138602561)
版本 1.2.0-alpha07
2019 年 8 月 7 日
发布了 androidx.browser:browser:1.2.0-alpha07
。点击此处可查看此版本中包含的提交内容。
新功能
深色主题
- 开发者可以提供在设备处于深色模式时使用的主题背景颜色。
- 开发者还可以替换启动的浏览器应处于深色模式还是光亮模式。
- 可以为“自定义标签”指定导航栏颜色。
Trusted Web Activity
TrustedWebActivityBuilder
可用于轻松创建和启动 Trusted Web Activity。TrustedWebActivityService
及相关类可用于与提供程序进行通信 - 接受关联网站的网络推送通知,并从客户端应用显示这些通知。这一部分 API 可能会发生更改。
自定义标签会话 ID
- 现在可以创建带有 ID 的自定义标签会话,从而允许合并由具有相同 ID 的应用启动的会话。
API 变更
- 与浏览器操作相关的类和方法已标记为已废弃。遗憾的是,尽管我们对该功能抱有很大的期望,但最终几乎没有人使用它,并且最终只有一个浏览器提供对该功能的支持。我们在弃用该功能,以简化代码和 API。
版本 1.0.0
版本 1.0.0
2018 年 9 月 21 日
发布了 browser-1.0.0。