一、旋转表冠交互
智能穿戴的表冠(上键)支持按压与旋转两种交互方式,其旋转操作可触发实时交互响应。系统通过 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)