HarmonyOS 振动效果开发指导
Vibrator 开发概述
振动器模块服务最大化开放硬工最新马达器件能力,通过拓展原生马达服务实现振动与交互融合设计,打造细腻精致的一体化振动体验和差异化体验,提升用户交互效率和易用性、提升用户体验、增强品牌竞争力。
运作机制
Vibrator 属于控制类小器件,主要包含以下四个模块:Vibrator API,Vibrator Framework,Vibrator Service 和 HDF 层。
图 1 控制类小器件中的 Vibrator
● Vibrator API:提供振动器基础的 API,主要包含振动器的列表查询,振动器的振动器效果查询,触发/关闭振动器等接口。
● Vibrator Framework:实现振动器的框架层管理,实现与控制类小器件 Service 的通信。
● Vibrator Service:实现控制器的服务管理。
● HDF 层:适配不同设备。
约束与限制
在使用振动器时,开发者需要配置请求振动器的权限 ohos.permission.VIBRATE,才能控制振动器振动。
Vibrator 开发指导
场景介绍
当设备需要设置不同的振动效果时,可以调用 Vibrator 模块,例如:设备的按键可以设置不同强度和不同时长的振动,闹钟和来电可以设置不同强度和时长的单次或周期振动。
详细的接口介绍请参考 Vibrator接口 。
接口说明
开发步骤
1. 控制设备上的振动器,需要申请权限 ohos.permission.VIBRATE。具体配置方式请参考 权限申请声明 。
2. 根据指定振动效果和振动属性触发马达振动。
import vibrator from @ohos.vibrator; try { vibrator. startVibration({ type: time, duration: 1000, }, { id: 0, usage: alarm }, ( error) => { if (error) { console. error( vibrate fail, error.code: + error. code + error.message: , + error. message); return; } console. log( Callback returned to indicate a successful vibration.); }); } catch (err) { console. error( errCode: + err. code + ,msg: + err. message); }3. 按照指定模式停止马达的振动。
import vibrator from @ohos.vibrator; try { // 按照VIBRATOR_STOP_MODE_TIME模式停止振动 vibrator. stopVibration(vibrator. VibratorStopMode. VIBRATOR_STOP_MODE_TIME, function ( error) { if (error) { console. log( error.code + error. code + error.message + error. message); return; } console. log( Callback returned to indicate successful.); }) } catch (err) { console. info( errCode: + err. code + ,msg: + err. message); }扫一扫,关注我们