OpenHarmony之充电振动定制
文档概述
OpenHarmony提供定制电池服务振动的能力,产品定制开发者可根据产品设计规格实现插入充电器时的振动效果。该定制能力仅支持在插入充电器场景下使用,通过修改配置文件实现,无需额外编码开发。具体如下:
基本概念
概念 | 描述 |
---|---|
充电振动 | 插入充电器时触发的振动效果,用于增强用户使用体验 |
振动场景 | 由配置文件定义的振动触发场景,当前仅支持"start_charge"场景 |
约束与限制
- 硬件依赖:设备必须配备振动马达器件,否则振动功能无法生效。
- 场景限制:当前仅支持插入充电器场景(start_charge)的振动定制,不支持其他充电状态(如充电完成、充电中断等)的振动定制。
- 配置限制:振动场景字符串名称(start_charge)不可修改,仅可修改enable和type参数。
开发步骤
1. 环境准备
设备要求:
- 标准系统开发板:如DAYU200/Hi3516DV300开源套件
- 外接振动马达器件
2. 修改振动配置文件
在以下路径下修改配置文件:
base/powermgr/battery_manager/services/native/profile
文件结构如下:
profile
├── BUILD.gn
├── battery_config.json
└── battery_vibrator.json
修改battery_vibrator.json文件,配置示例:
{"start_charge": {"enable": true,"type": "haptic.charging"}
}
3. 配置项说明
配置项 | 类型 | 说明 |
---|---|---|
start_charge | 字符串 | 振动场景字符串名称,不可修改 |
enable | 布尔值 | 振动使能开关,true表示触发振动,false表示不触发(默认值:false) |
type | 字符串 | 振动波形名,默认为"haptic.charging",暂不支持其他波形名 |
注意:仅可修改enable和type字段,start_charge字段必须保持原样。
4. 编译与烧录
./build.sh --product-name rk3568 --ccache
调测验证
- 烧录定制版本后重启设备。
- 插入充电器,观察设备是否按照预期触发振动。
- 验证结果:
- 若振动触发成功:功能测试通过
- 若无振动:检查硬件连接、配置文件是否正确、振动马达是否正常工作
默认配置示例
系统默认配置(battery_vibrator.json):
{"start_charge": {"enable": false,"type": "haptic.charging"}
}
默认情况下振动功能被禁用(enable=false),需手动修改为true以启用振动。
注意事项
- 硬件验证:确保开发板已正确连接振动马达器件,且振动马达可正常工作。
- 配置验证:修改配置文件后,需重新编译并烧录系统,配置才会生效。
- 振动效果:振动效果由系统默认振动波形(haptic.charging)决定,当前不支持自定义振动波形。
- 默认值:若未配置battery_vibrator.json文件,则系统将使用默认值(enable=false)。
- 配置路径:确保配置文件路径正确,位于
base/powermgr/battery_manager/services/native/profile/
下。
参考配置路径
系统默认配置文件路径:
base/powermgr/battery_manager/services/native/profile
battery_config.json
:电池配置文件battery_vibrator.json
:充电振动配置文件BUILD.gn
:编译配置文件
通过以上步骤,产品定制开发者可基于实际需求启用或禁用插入充电器时的振动效果,提升产品用户体验。配置简单直接,无需修改系统核心代码,仅需调整配置文件即可完成定制。
关注鸿蒙百川,带你盘点更多鸿蒙开发定制需求