本页包含有关 Wear OS 版本(如 Wearable SDK 和穿戴式设备支持库)的信息。
2022 年 9 月 20 日 - Wearable SDK 18.0.0
Wearable SDK 版本 18.0.0 包含次要 API 更新,以支持下一个穿戴式设备支持库版本。更新包括:
- 针对以 Android 13 为目标平台的应用提供的
WearableListenerService
支持 - 问题 235538840。 - 新增了
MessageClient.sendRequest()
方法。
2022 年 2 月 16 日 - 穿戴式设备支持库 v2.9.0
2.9.0 版本的穿戴式设备支持库废弃了所有剩余类。 请改用 Wear OS Jetpack 库。
2021 年 10 月 29 日 - Wear OS Jetpack 库
Wear OS Jetpack 库可替代穿戴式设备支持库,并非设计用于与穿戴式设备支持库搭配使用。穿戴式设备支持库不适用于 Wear OS 3。
2021 年 4 月 27 日 - Wearable SDK 17.1.0
Wearable SDK 17.1.0 版包含一些细微的 API 更新,以便支持下一版穿戴式设备支持库。
2020 年 9 月 28 日 - 穿戴式设备支持库 v2.8.1
2.8.1 版本的穿戴式设备支持库包含以下变更。
在使用表盘模板时允许停用 Jetifier
Android Studio 表盘模板现在使用 AndroidX 依赖项,以允许停用 Jetifier。在 Android Studio 4.2 或更高版本中使用表盘模板时,就会应用此类修正。
2020 年 9 月 24 日 - 穿戴式设备支持库 v2.8.0
2.8.0 版本的穿戴式设备支持库包含以下变更。
回退功能(用于指定默认的非系统复杂功能提供程序)
表盘现在可以通过 setDefaultComplicationProviderWithFallbacks
来指定默认情况下使用的一个或多个非系统复杂功能提供程序。如果指定的所有非系统提供程序均未安装,系统会回退到使用默认的系统提供程序。
弃用了 WearableActivity
WearableActivity
已被弃用。改为使用 AmbientModeSupport
。
弃用了 SKIP_CONFIRMATION_UI
ActionConfirmationActivity.SKIP_CONFIRMATION_UI
已被弃用。自 Wear 2.0 发布以来,便已不再使用此 extra。
2020 年 5 月 15 日 - 穿戴式设备支持库 v2.7.0
2.7.0 版本的穿戴式设备支持库包含以下功能。
针对表盘的硬件加速
您现在可以在使用 CanvasWatchFaceService
类时请求经过硬件加速的画布。利用硬件加速可以提升表盘性能并访问更多界面性能数据。
如需了解详情,请参阅利用硬件加速提升表盘性能。
2020 年 4 月 21 日 - 穿戴式设备支持库 v2.6.0
2.6.0 版本的穿戴式设备支持库包含以下改进。
迁移至 Android Jetpack
穿戴式设备支持库已迁移至 Android Jetpack。现在,可以在 AndroidX 中使用 androidx
命名空间映射和访问现有库,并且已弃用的支持库上的所有依赖项已移除。
此变更还允许您使用 Android Studio 4.0 及更高版本中的穿戴式设备支持库,该库解决了问题 147972079 等问题。
2019 年 8 月 28 日 - 穿戴式设备支持库 v2.5.0
2.5.0 版本的穿戴式设备支持库包含以下改进。
修复了使用 TYPE_NO_PERMISSION 复杂功能类型调用 startActivity() 时 ComplicationDrawable 存在的问题
ComplicationDrawable
现在包含一个 NEW_TASK
标志,该标志可确保来自 WatchFaceService
的 startActivity()
调用包含 FLAG_ACTIVITY_NEW_TASK
,以避免出现 android.util.AndroidRuntimeException
。
此变更可让 TYPE_NO_PERMISSION
复杂功能类型正确启动权限请求 activity,而不是使表盘崩溃。
2018 年 9 月 25 日 - Wearable SDK 16.0.0
Wearable SDK 16.0.0 版将所需的 Google Play 服务版本从 12.4 版降至 8.6 版。此变更可让现有应用更新至最新版本的穿戴式设备 SDK,而无需更新 Google Play 服务 APK。
2018 年 6 月 11 日 - 更新到 Wear OS 开发者预览版 2
最近对 Wear OS 开发者预览版 2 进行的一项无线下载更新重新启用了针对后台应用的提醒和作业。
虽然此政策变更有助于提高应用开发的灵活性,但后台闹钟和作业仍然需要遵守其他 Android P 限制,包括与 应用待机模式存储分区相关的限制。 。 遵循 最佳做法,确保您的应用无论位于哪个存储分区都能正常运行。
此外,这项更新还可以限制后台应用访问用户输入和传感器数据,从而加强了对用户输入和数据的隐私保护。根据应用的要求,您可能需要使用前台服务才能持续访问传感器数据。
2018 年 5 月 8 日 - Wear OS 开发者预览版 2
Wear OS 开发者预览版 2 增加了一些功能,例如改进的 Google 助理体验。
请使用 Wear OS by Google 谷歌问题跟踪器提交任何错误或反馈。您提交 bug 的时间越早,修复程序列入最终版本的可能性就越大。
已知问题
本部分包含预览版 2 的已知问题。
Wear OS 映像方面的问题
- 在任何应用中,当您按下手表侧面的电源按钮时,您可能会返回上一个屏幕,而不是表盘。
中国版 Wear OS 映像方面的问题
- 在任何应用中,当您按下手表侧面的电源按钮时,您可能会返回上一个屏幕,而不是表盘。
- 与音量相关的声音设置无法保留。例如,有来电时手表会响铃,即使手表设为静音也是如此。此外,如果您调整闹钟音量,更改将不起作用。
- 多个正在进行的通知可能无法正确显示。 例如,如果同时设置了计时器和秒表,系统不会显示通知。我们建议您使用一个(而不是多个)持续性通知来测试您的应用。
- 中国版 Wear 应用商店尚未开放。开发者无法使用该渠道更新或安装新应用。为了解决在测试时旁加载应用这一问题,我们建议使用“adb”。
Wear 模拟器方面的问题
- 配套手机上的来电未在配对模拟器中显示为或_镜像_为来电。
- 当您使用 SDK 管理器安装或确认您是最新安装的 Android P 或中国版时,可以取消选择这些选项旁边的复选框您选择它们。如果它们变为取消选中状态,请重新选择。
- 当模拟器执行冷启动时,系统可能会显示以下错误:“您的设备发生内部问题。Contact the manufacturer for details.”此错误不会影响功能。向下滚动,然后点击 OK 开始测试应用。
- 语音回复在模拟器上可能无法正常工作。例如,如果您在 Wear 模拟器上收到一条 Google Hangouts 消息通知,并尝试通过语音回复该消息,则会出现“Google 停止”错误消息,而您则无法访问不要通过语音回复
- Instant Run 可能与 Wear 模拟器不兼容。
- 可能无法以程序化方式截取屏幕截图(例如使用“adb”或生成错误报告)。 如果要解决此问题,请点击模拟器工具栏中的摄像头按钮来截取屏幕截图。
中国版 Wear 模拟器方面的问题
- 配套手机上的来电可能不会在配对模拟器中显示为“_镜像”_ _或显示为“_镜像”_。 因此,未接电话通知可能不会在模拟器中显示。此外,您可能无法通过模拟器接听来电,在这种情况下,来电会继续响铃。
- 当您使用 SDK 管理器安装或确认您是最新安装的 Android P 或中国版时,可以取消选择这些选项旁边的复选框您选择它们。如果它们变为取消选中状态,请重新选择。
- 当模拟器执行冷启动时,系统可能会显示以下错误:“您的设备发生内部问题。Contact the manufacturer for details.”此错误不会影响功能。向下滚动,然后点击 OK 开始测试应用。
- Instant Run 可能与 Wear 模拟器不兼容。
- 可能无法以程序化方式截取屏幕截图(例如使用“adb”或通过生成 bug 报告)。如果要解决此问题,请点击模拟器工具栏中的摄像头按钮来截取屏幕截图。
Wear 中的 Google 助理
借助对 Wear OS 上的 Google 助理的增强型支持,您无需编写 Android 代码即可构建支持穿戴式设备的体验。具体而言,您可针对 Actions on Google 平台进行构建,帮助用户使用您的产品和服务完成各种操作。
此外,Wear OS 现在还支持通过语音和轻触进行更快的互动。 此外,系统还会显示建议内容信息卡。它们执行以下操作:
- 帮助用户快速完成互动
- 为用户提供您的 Action 功能的相关提示
此外,Wear OS 现在还支持更直观的卡片,以及列表和轮播界面。
因此,您可以使用 DialogFlow
、模板或 Actions SDK 为 Wear OS 创建 Actions on Google。您还可以利用手表特有的新响应模板。有关 Actions on Google 的最佳做法包括:
- 简短、简洁的对话框
- 支持视觉和语音反馈
这些针对 Wear OS 中的 Google 助理的增强功能不依赖于 Android P,并且正在逐步向所有 Wear 2.0 用户推出。有关构建 Actions on Google 的说明,请参阅 与 Google 助理集成。
开发者预览版 2 中的电量节省情况
如下文所述,可使用电源相关功能来延长电池续航时间。本开发者预览版 2 部分中的信息将取代开发者预览版 1 的电源相关信息。
新模式:增强省电模式
当手表处于增强省电模式时,系统会显示一个默认的电源优化表盘。此时,系统会关闭以下所有功能:
- 无线装置
- 触摸屏
- 倾斜唤醒功能
用户可以通过短按侧面按钮查看时间。长按会让用户切换回完全正常运行模式,并执行任务,例如使用 NFC 付款或回复消息。假设在省电模式下,应用、表盘和复杂功能数据提供程序不可用。
限制了后台活动
为了改进电源管理,除非手表在充电器上,否则后台应用无法再启动闹钟和作业。例外情况包括表盘和活动的复杂功能。
注意:如果您的应用必须始终运行(例如进行后台监控),我们建议您借助
startForegroundService()
方法使用前台服务。如需了解详情,请参阅后台服务限制。使用前台服务适用于异常用例,例如健康监控。
提升了应用兼容性
为了提升应用兼容性,Android P 已开始对使用非 SDK 接口施加了特定限制。并计划停止使用非 SDK 方法和字段。如果没有适用于您的用例的等效公开资源,请 告诉我们。
深色系界面系统主题
从 2018 年初开始,Wear OS 的默认界面主题已变成针对通知流和系统启动器采用颜色更深的背景。此变更旨在让您的应用更一目了然;使用以下新的界面主题检查应用的无障碍功能。
推出更新后的 Codelab
为了帮助您探索通过 Wear OS 进行开发的重要方式,我们推出了经过更新的 Codelab。例如,试用新的基于 Kotlin 的表盘 Codelab,对 Kotlin 领域特定语言 (DSL) 进行实验。
2018 年 3 月 27 日 - Wear OS 开发者预览版 1
本部分包含 Wear OS by Google 谷歌开发者预览版 1 的相关信息。预计会在最终正式版发布之前对此预览版进行几次更新。 使用 Wear OS by Google 谷歌问题跟踪器提交您发现的任何 bug。您提交 bug 的时间越早,我们在最终版本中进行修复的可能性就越高。
已知问题
- 在 Wear OS 配套应用中,点按 Report wear bug 似乎可以正常运行,但实际上并未生成 bug 报告。
请使用
adb bugreport
解决此问题。 - 有时无法使用手表接听电话。如果接听失败,用户需要直接通过手机接听电话。
- 在配对或启动预加载的应用后,有时会出现“Detected issues with APIcompatibility”(错误与 API 兼容性相关的问题)错误。该错误消息会在短暂显示后消失,不会影响易用性。
- 在手表和模拟器上的“设置”菜单中,生成 bug 报告选项会显示两次。如需生成 bug 报告,请逐一试用这两个选项,因为只有一个选项可以正常使用。当您点按可正常使用的选项后,系统会显示消息框,显示正在生成 bug 报告。
- 在中国版中,语音输入会导致应用崩溃。例如,使用语音搜索时或使用语音添加提醒时就会发生这种情况,因为此功能使用语音输入 API。 测试时,请使用键盘或手写输入,而不要使用语音输入。
- 中国版 Wear 应用商店尚未开放。开发者无法使用该频道更新或安装新应用。为了解决在测试时旁加载应用这一问题,我们建议您使用“adb”。
此开发者预览版中的精彩功能
开发者预览版 1 提供以下应用测试功能:
-
限制了后台 Activity:为了改进电源管理,后台应用无法再使用闹钟和作业。例外情况包括表盘和用户选择的复杂功能。我们会在开发者预览版中逐步推出这一功能,因此您可能不会立即在手表上看到它。
注意:如果您的应用必须始终运行,请使用
startForegroundService()
方法将其修改为前台服务。如需了解更多详情,请参阅后台服务限制。 - 应用使用非 SDK 接口的限制:为了提升应用兼容性,Android P 已开始 对使用非 SDK 接口施加了特定限制。 制定计划,逐步停止使用非 SDK 方法和字段。 如果没有适用于您的用例的等效公开资源,请 告诉我们。
- 深色界面系统主题:从 2018 年初开始,Wear OS 的默认界面主题已变成针对通知流和系统启动器采用颜色更深的背景。此变更旨在让您的应用更一目了然;使用以下新的界面主题检查应用的无障碍功能。
- 摘下手表后,无线装置会关闭:为了改进电源管理,当检测到手表关闭时,蓝牙无线装置、Wi-Fi 无线装置和手机无线装置会关闭。我们会在开发者预览版中逐步推出这一功能,因此您最初可能还无法在手表上看到它。如果此功能导致开发过程出现问题,您可以使用以下命令在“adb”中停用此功能:
adb shell settings put global off_body_radios_off_for_small_battery_enabled 0
- 断开蓝牙连接后,WLAN 将关闭:为了改进电源管理,当手表断开蓝牙连接后,手表将不再自动连接到 WLAN。 例外情况包括应用请求高带宽网络的情况,以及手表连接到充电器的情况。我们会在开发者预览版中逐步推出这一功能,因此您最初可能还无法在手表上看到它。
穿戴式设备支持库 v2.3.0 更新
穿戴式设备支持库的 v2.3.0 文档更新包含品牌更名方面的更新。
此外,该库的 v2.3.0 还包含与
ComplicationDrawable
和
TextRenderer
相关的更新(针对具有附加到文本范围的标记对象的文本)。
这些类可以改进 span 文本的处理效果。
只能呈现一部分 span,详情请参阅
setText
方法。
2018 年 3 月 15 日 - Wear 品牌更名
本部分包含与 Wear OS 功能相关的信息。
Android Wear 改用新名称
Android Wear 已更名为 Wear OS by Google 谷歌。
2018 年 2 月 27 日 - 微光模式更新
本部分包含与 Android Wear 新功能相关的信息。
新增用于支持微光模式的类
27.1.0 版本的 Android 支持库包含一个新类,即 AmbientModeSupport
,该类取代了现已弃用的
AmbientMode
类。我们计划在接下来几周内推出示例更新。
2018 年 1 月 25 日 - 最终模拟器及更多信息
本部分包含与 Android Wear 新功能相关的信息。
Android 模拟器:针对 Wear 的更新
针对 Android 模拟器的最终 Wear 相关更新现已可用于测试基于 API 版本 26 的应用。
穿戴式设备支持库 v2.2.0 中的增强功能
2.2.0 版本的穿戴式设备支持库包含下述更新。
新增未读通知指示器
由于用户想要留意未读通知,因此我们提供了一个新的指示符:表盘底部的圆形点。如果您希望自行管理通知,则可以使用
setHideNotificationIndicator
隐藏默认指示符,并显示您自己的指示符;也可使用
setShowUnreadCountIndicator
来显示通知计数,状态栏。
使用
setAccentColor
方法自定义未读通知指示器外圈的颜色。
注意:Wear 2.8.0 正式版中未启用未读通知指示器。请改用最新的 Wear 模拟器测试您的实现。 从下一个消费者版本的 Wear(版本 2.9.0)开始,系统将在默认情况下显示未读通知指示器。
ComplicationDrawable 类的增强功能
当系统指明值为
TYPE_NO_PERMISSION
时,
ComplicationDrawable
类会为点按的表盘启动权限请求,这表示表盘缺少获取复杂功能数据的权限。
此外,当 ComplicationDrawable
类完成图片加载或“点按触发突出显示”设置过期后,该类便会自行失效。如需响应此失效(例如重新绘制表盘),请添加
Drawable.Callback
。
已知问题
- 如果您在模拟器中启用影院模式(如 更改屏幕设置和亮度设置中所述),模拟器可能会一直卡在影院模式。要解决此问题,需要清除模拟器数据;请参阅 运行和停止模拟器并清除数据。
- 在 API 级别为 25 或 26 的模拟器的窗口中,电源按钮无法正常使用。请改用电源按钮以外的按钮。 具体而言,如需切换到氛围模式(例如,用户用手掌遮挡屏幕时),请使用屏幕右侧的模拟器工具栏上的电源按钮。 如需在交互模式下启动应用启动器,请使用模拟器工具栏上的主屏幕按钮。
- 在中国版的模拟器中,如果您使用手写输入法,屏幕可能会开始闪烁。随后,当您点击屏幕键盘按钮时,键盘会遮挡半个屏幕。
2017 年 12 月 18 日 - 对 Google Play 服务的新访问权限
本部分包含与 Android Wear 新功能相关的信息。
停止使用 GoogleApiClient 类
从 11.8.0 版本的 Google Play 服务开始,将您的 Wear 应用停止使用 GoogleApiClient
类,并改用基于 101}
GoogleApi
类和 Tasks API。
注意:这项更新不适用于中国版 Android Wear 应用,此类应用通常使用 10.2.0 版本的 Google Play 服务。
如需了解详情,请参阅以下内容:
- 将 Wear 应用迁移至 GoogleApi
- 访问 Google API
-
Wearable
class documentation
New components for connecting with Google Play services
When you use classes that extend the
GoogleApi
class, such as
DataClient
and
MessageClient
, the Google Play services SDK manages
connections to Google Play services for you. Apps that use these classes no longer need to
create and manage GoogleApiClient
objects. See the blog post
Moving Past GoogleApiClient for more information.
For the replacements of Wear-related components for connecting to Google
Play services, see
Replacements for deprecated components.
For releases and known issues related to
Google Play services, see the Release Notes for
Google Play services.
Note: If you compile your app with the latest version of
Google Play services, users are prompted to update their devices to that
latest version. However, a known issue for apps that target API version
26 might prevent users from being prompted to update their devices. This
issue is described in the Release Notes for
Google Play services.
2017-Oct-25 Ambient mode and more
This section contains information about new Android Wear features.
Android Support Library, v27.0.0: Features and bugfixes
The
27.0.0 version of the Android Support Library contains new features
for Wear. Review the following section.
New, preferred way to support ambient mode
Ambient mode lets a Wear app remain visible to a user when the
device goes idle. The Android Support Library has a new,
preferred way for your apps to use ambient mode. The Wear team seeks
developer feedback about this significant change.
Specifically, using the
AmbientMode
class offers the following benefits:
- The
Activity
subclasses in the Android Support Library, such as
FragmentActivity
. Functionality for
support library fragments is available.
-
Architecture components, which are
lifecycle aware.
- Better support for Google
Sign-In.
Manifest metadata constants in the Android Support Library
Constants for Android Wear apps, used in the meta-data
tag
in the Android Manifest file, are now
available in the Android Support Library. To use the constants—for
standalone apps, notification bridging mode, and watch face preview
images—add a reference to the following in the dependencies section of
the app module's build.gradle
file, which requires the latest
version of the Google Repository:
Groovy
implementation 'com.android.support:wear:27.0.0'
Kotlin
implementation("com.android.support:wear:27.0.0")
Action drawer updates
Updates are available to the
WearableActionDrawerView
class, which is used for creating a wearable
action drawer. In the latest version:
- When menu items are modified, the action drawer properly updates.
- If set for an action drawer, the title displays correctly.
Inflation of the RoundedDrawable class
Assuming an API level of at least 24, the
RoundedDrawable
class can now be inflated from a drawable XML file;
see
Custom drawables.
Wearable Support Library, v2.1.0: Enhancements and more
The
2.1.0 version of the Wearable Support Library includes the updates
described in the following section, and requires Android Support Library version 26.0.2 or
higher.
Supply burn-in-safe images for ambient mode
The
ComplicationDrawable
class lets you supply burn-in-safe
images for ambient mode. Specifically, a
ComplicationData
object's burn-in protection small
image field lets a watch face display a small image in the
SMALL_IMAGE
complication type, in ambient mode, when burn-in
protection is enabled.
Tap event updates for complications
The
ComplicationDrawable
class has a new onTap
method
that lets your watch face pass tap events to complications. The new
method builds on the existing functionality in which a tap on the watch
face triggers the
WatchFaceService.Engine.onTapCommand
method.
You can pass the coordinates to a ComplicationDrawable
with
an onTap
call to launch the action associated with the
ComplicationDrawable
that contains the tap coordinates. When
the new onTap
method is called, you can use a return value
of true
to see whether a ComplicationDrawable
launched the action associated with it.
Additionally, the setHighlightDuration
method sets the
duration for a complication to remain highlighted after the
onTap
method is called.
Progress bar for ranged value complications
If you prefer to draw your own progress bar for ranged value
complications in your watch face, use the
setRangedValueProgressHidden
method of the
ComplicationDrawable
class to hide the ranged value progress
that's drawn by the ComplicationDrawable
.
2017-Oct-02 Android Wear beta
Date: 2017-Oct-02
Build: OWP4.170828.008
Supported device: LG Watch Sport
This section contains known issues for an Android Wear beta release. For
information about the beta program or to enroll,
see the
Android beta page.
Known issues
- Google Pay and its cards do not function with this Android Wear beta
release.
- Even if cellular connectivity is on, it is turned off after the beta
is installed. As a workaround, turn on cellular connectivity after
the beta is installed by navigating to
Settings > Connectivity > Cellular.
- If notifications are erratic or missing after a beta update,
or contacts were not synced, factory-reset your watch.
- In the Wear tutorial, which starts after a watch is set up, some cards
behave erratically, but they can be dismissed normally with a swipe.
- On Android 6.0 phones, phone call notifications are not
received on the watch.
- Heart rate monitoring sometimes fails after an update. As a workaround,
reboot the watch.
- The OTA card in the stream sometimes fails to enable an installation.
As a workaround, navigate to
Settings > System > About > System Updates.