股票
板块
用户
资讯
首页
天眼
自选
发现
开户
首页
天眼
自选
发现
我的

智能穿戴应用开发-创新与体验提升

一、旋转表冠交互

智能穿戴的表冠(上键)支持按压与旋转两种交互方式,其旋转操作可触发实时交互响应。系统通过 onDigitalCrown()回调函数处理表冠旋转事件,并已为常用组件内置了表冠交互支持。

  • ??onDigitalCrown()回调函数处理表冠旋转事件:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/ts-universal-events-crown#ondigitalcrown

主要特性:

  • 事件响应:旋转操作实时触发onDigitalCrown回调。

  • 系统集成:滚动条等组件自动响应表冠旋转方向。

默认支持表冠交互的组件包括:

  • 滑动选择类:Slider、Scroll、ArcSwiper、Refresh。

  • 列表展示类:List、Grid、WaterFlow、ArcList。

  • 时间日期类:DatePicker、TimePicker。

  • 文本选择类:TextPicker。

开发者可通过开放接口自定义表冠事件处理逻辑,实现更丰富的交互体验。关于智能穿戴表冠旋转事件的开发,可以参考表冠事件。

  • ??表冠事件:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/ts-universal-events-crown

说明

  • 旋转表冠功能依赖设备的物理硬件支持。请确认当前设备是否搭载了旋转表冠硬件,若无旋转表冠硬件交互事件不会响应。

  • 对于不支持旋转表冠的智能穿戴设备,不应将核心操作设计为依赖表冠旋转触发。相关场景建议改为触控点击、滑动或普通列表操作。

二、智慧手势

智慧手势是智能穿戴设备除屏幕交互、表冠交互和按键交互外的独特感知交互方式。在情景障碍,需要单手处理的场景,用户可以使用敲击手指和滑动指关节实现控制和切换选择诉求。

说明

  • 请确认当前设备是否支持智慧手势,可通过查看【设置】-【手势】是否有智慧手势识别选项。设备不支持智慧手势,交互事件不会响应。

  • 使用智慧手势功能要确保设备上的智慧手势识别开关已打开。

1. 交互场景

  • 提醒场景,需及时处理的控制,如电话、闹钟等。

  • 高频使用场景的便捷操控,如播控中心“下一首”。

  • 不方便双手点击操作的场景,如遥控拍照。

2. 手势类型

  • 捏合确认:拇指和食指快速触碰两下,表示确认当前焦点的操作。常用于确认键、音乐暂停/播放等场景。

实现原理:系统识别手势后,会触发组件的 onKeyEvent 事件,KeyCode 为KEYCODE_ENTER,type 为 KeyType.Down,应用可以在该条件触发后进行功能执行,如暂停音乐。

  • ??onKeyEvent 事件:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/ts-universal-events-key#onkeyevent

示例代码:

  • 滑动切焦:切换当前焦点,以确认下一步操作,通过将拇指沿食指第二关节向指尖快速滑动两下切换焦点,后续再进行确认操作,可以用于切换到取消按钮,或切换到播放下一首按钮上,用于取消消息、切换歌曲等操作场景。

实现原理:系统识别手势后,会分别触发失焦组件和获焦组件的 onBlur 和 onFocus 事件,应用可以在该条件触发后进行功能执行,如更改获焦组件的样式为高亮展示。

  • ??onBlur 事件:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/ts-universal-focus-event#onblur

  • ??onFocus 事件:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/ts-universal-focus-event#onfocus

示例代码:

智慧手势交互的前提是组件获焦。首先使用 activate 激活当前界面的焦点激活态。

  • ??activate:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/arkts-apis-uicontext-focuscontroller#activate14

激活焦点激活态后,可调用 requestFocus()方法使目标组件获得焦点,随后手势操作方可生效。示例代码如下,页面渲染后默认使得 id 为"btn1"的按钮获焦: 

  • ??requestFocus()方法:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/arkts-apis-uicontext-focuscontroller#requestfocus12

退出页面时,设置当前界面的焦点激活态为 false,退出焦点激活态。

三、功耗管理优化

为提升智能穿戴设备续航能力并给用户带来更持久、更流畅的使用体验,可以采取以下措施:

1. 显示优化配置

(1)默认启用深色主题模式降低显示能耗。

(2)仅允许视频、游戏、导航等必要场景保持屏幕常亮。

2. 后台应用管理

(1)关键服务类应用(闹钟、日程提醒、邮件、IM 类应用)可依据实际需求启动。

(2)除被前台应用拉起的情况外,闹钟、日程提醒、邮件、IM类应用按需自启,禁止非必要应用以任何形式自启动。

3. 定位服务规范

(1)后台 GPS 仅对导航、运动健康等核心功能开放。

(2)严禁非用户交互场景在后台调用定位服务。

若应用涉及导航、视频等需要保持应用常亮的场景,可以根据如下步骤实现:

设定应用屏幕常亮首先需要在 EntryAbility 通过 window.getLastWindow 接口获取 window 实例。

  • ??window.getLastWindow 接口:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/arkts-apis-window-f#windowgetlastwindow9

调用 window 的 setWindowKeepScreenOn()接口,设置 isKeepScreenOn 参数为 true 使屏幕常亮。

  • ??setWindowKeepScreenOn()接口:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/arkts-apis-window-window#setwindowkeepscreenon9

若要关闭屏幕常亮,

调用 setWindowKeepScreenOn()接口,

设置 isKeepScreenOn 参数为 false 即可。

  • ??setWindowKeepScreenOn()接口:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/arkts-apis-window-window#setwindowkeepscreenon9

四、跨设备互通

手机与智能穿戴设备的互联通信是智能穿戴设备的核心开发场景,开发者可通过 WearEngine 提供的标准化接口实现跨设备交互,具体开发流程如下:

  • ??WearEngine:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/wearengine_api

1. 通过 wearEngine.getDeviceClient()获取 Device 模块的客户端用于获取连接设备。

2. 通过 Device 客户端获取当前已连接且支持 wearEngine 能力集的设备。

3. 通过获取P2P模块的客户端用于互联通信。

4. 订阅对端设备应用向本侧发送消息的事件。

5. 对端设备发送消息。

说明

鉴于部分智能穿戴设备可能不支持 WearEngine 能力,开发时务必充分考量设备差异。在调用相关接口前,请使用 canIUse 接口进行能力检测,以确保应用的稳定性,避免因兼容性问题引发崩溃。可参考多设备应用开发。

  • ??canIUse 接口:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/js-apis-syscap#caniuse

  • ??多设备应用开发:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-multi-device/bpta-multi-device-function#多设备应用开发

使用 WearEngine 实现互联通信功能需要获取 WearEngine 权限,具体可以参考申请接入 Wear Engine 服务。

  • ??申请接入 Wear Engine 服务:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-capabilities/wearengine_apply

手机端与智能穿戴端应用实现与对端互连通信的原理一致,详细开发方案可参考实现手机手表互联通信与手表心率监听。

  • ??实现手机手表互联通信与手表心率监听:(可复制链接至网页打开)

    https://gitcode.com/HarmonyOS_Samples/Phone_Connection

五、消息通知

智能穿戴设备的消息通知来源包括:

  • 手机应用通知:应用通过华为运动健康授权消息通知权限后,配对手机的应用通知将同步至穿戴设备。

  • 手机主动推送:手机应用使用 WearEngine 接口直接向穿戴设备发送消息通知。

  • 穿戴设备本地通知:手表应用通过 Notification Kit 自主发送通知。

1. 手机应用通知

在华为运动健康 APP 中,进入消息通知设置界面,为指定手机应用开启通知权限,即可将该应用的消息实时同步至已配对的华为智能穿戴设备。

2. 手机主动推送

手机应用可以通过 WearEngine 的 notify()实现手机向智能穿戴设备主动推送消息通知,

  • ??WearEngine:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/wearengine_api

  • ??notify():(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/wearengine_api#notify

开发步骤如下:

(1)通过 wearEngine.getNotifyClient()获取 Notify 客户端类。

  • ??wearEngine.getNotifyClient():(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/wearengine_api#wearenginegetnotifyclient

使用当前组件所在 Ability 的 Context,获取 Notify 模块的客户端。

(2)通过 NotifyClient.notify()实现手机向智能穿戴设备发送模板化通知。

  • ??NotifyClient.notify():(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/wearengine_api#notify

说明

使用 WearEngine 的 NotifyClient.notify()需要获取 WearEngine 权限,具体可以参考申请接入 Wear Engine 服务。

  • ??NotifyClient.notify():(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/wearengine_api#notify

  • ??申请接入 Wear Engine 服务:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-capabilities/wearengine_apply

3. 智能穿戴设备本地通知

智能穿戴设备应用可以通过 NotificationManager模块实现自主发送通知。

  • ??NotificationManager 模块:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/js-apis-notificationmanager

(1)请求通知授权。

可通过 requestEnableNotification 的错误码判断用户是否授权。若返回的错误码为 1600004,即为拒绝授权。

(2)构造 NotificationRequest 对象,并发布通知。

说明

由于不同设备的能力支持度不同,在调用相关接口前,请使用 canIUse 接口进行能力检测,以确保应用的稳定性,避免因兼容性问题引发崩溃。可参考多设备应用开发。

  • ??canIUse 接口:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/js-apis-syscap#caniuse

  • ??多设备应用开发:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-multi-device/bpta-multi-device-function#多设备应用开发

六、未成年人模式适配

智能穿戴设备中的儿童智能表应用面向儿童用户,启蒙教育、内容展示、社交互动、音视频、游戏等应用应重点评估未成年人保护要求。应用如需跟随系统未成年人模式调整内容展示、功能入口或使用时长,应适配未成年人模式能力。

未成年人模式相关能力可参考 Account Kit(华为账号服务)中的 minorsProtection能力。开发者应根据应用场景判断是否需要获取未成年人模式开启状态、年龄段信息,或引导用户开启未成年人模式。

  • ??Account Kit(华为账号服务):(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-capabilities/account-kit-guide

  • ??minorsProtection 能力:(可复制链接至网页打开)

    https://developer.huawei.com/consumer/cn/doc/doccenter-references/api/account-api-minorsprotection


关注公众号,获取更多 HarmonyOS 技术内容
*广告
往期回顾 | HarmonyOS
一文读懂 Health Service Kit(运动健康服务)
HarmonyOS 穿戴设备应用开发入门

原文链接
多空观点 观点仅供交流,不构成投资建议
点赞
踩一踩
收藏
分享

评论 (0)

0/200
声明:社区内容仅代表用户个人观点,不构成任何投资建议。投资有风险,入市需谨慎。