鸿蒙开发设备管理:【@ohos.vibrator (振动)】

振动

说明:
开发前请熟悉鸿蒙开发指导文档gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。

本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

复制代码
import vibrator from '@ohos.vibrator';

vibrator.vibrate

vibrate(duration: number): Promise

按照指定持续时间触发马达振动。

权限列表:ohos.permission.VIBRATE,该权限为系统权限

系统能力:SystemCapability.Sensors.MiscDevice

参数:

参数名 类型 必填 说明
duration number 指示马达振动的持续时间。

返回值:

类型 说明
Promise 指示触发振动是否成功。

示例:

复制代码
vibrator.vibrate(1000).then(()=>{
    console.log("Promise returned to indicate a successful vibration.");
}, (error)=>{
    console.log("error.code"+error.code+"error.message"+error.message);
});

vibrator.vibrate

vibrate(duration: number, callback?: AsyncCallback): void

按照指定持续时间触发马达振动。

权限列表:ohos.permission.VIBRATE,该权限为系统权限

系统能力:SystemCapability.Sensors.MiscDevice

参数:

参数名 类型 必填 说明
duration number 指示马达振动的持续时间。
callback AsyncCallback 马达执行振动的回调函数,指示触发振动是否成功。

示例:

复制代码
vibrator.vibrate(1000,function(error){
    if(error){
        console.log("error.code"+error.code+"error.message"+error.message);
    }else{
        console.log("Callback returned to indicate a successful vibration.");
    }
})

vibrator.vibrate

vibrate(effectId: EffectId): Promise

按照指定振动效果触发马达振动。

权限列表:ohos.permission.VIBRATE,该权限为系统权限

系统能力:SystemCapability.Sensors.MiscDevice

参数:

参数名 类型 必填 说明
effectId EffectId 指示马达振动效果的字符串。

返回值:

类型 说明
Promise 指示触发振动是否成功。

示例:

复制代码
vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER).then(()=>{
    console.log("Promise returned to indicate a successful vibration.");
}, (error)=>{
    console.log("error.code"+error.code+"error.message"+error.message);
});

vibrator.vibrate

vibrate(effectId: EffectId, callback?: AsyncCallback): void

按照指定振动效果触发马达振动。

权限列表:ohos.permission.VIBRATE,该权限为系统权限

系统能力:SystemCapability.Sensors.MiscDevice

参数:

参数名 类型 必填 说明
effectId EffectId 指示马达振动效果的字符串。
callback AsyncCallback 马达执行振动的回调函数,指示触发振动是否成功。

示例:

复制代码
vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER, function(error){
    if(error){
        console.log("error.code"+error.code+"error.message"+error.message);
    }else{
        console.log("Callback returned to indicate a successful vibration.");
    }
})

vibrator.stop

stop(stopMode: VibratorStopMode): Promise

按照要停止指定的振动模式来停止马达的振动。如果要停止的振动模式与触发马达振动时的模式不相同,则调用本接口会失败。

权限列表:ohos.permission.VIBRATE,该权限为系统权限

系统能力:SystemCapability.Sensors.MiscDevice

参数:

参数名 类型 必填 说明
stopMode VibratorStopMode 指示马达要停止指定的振动模式。

返回值:

类型 说明
Promise 指示停止振动是否成功。

示例:

复制代码
vibrator.stop(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_PRESET).then(()=>{
    console.log("Promise returned to indicate a successful vibration.");
}, (error)=>{
    console.log("error.code"+error.code+"error.message"+error.message);
});

vibrator.stop

stop(stopMode: VibratorStopMode, callback?: AsyncCallback): void;

按照要停止指定的振动模式来停止马达的振动。如果要停止的振动模式与触发马达振动时的模式不相同,则调用本接口会失败。

权限列表:ohos.permission.VIBRATE,该权限为系统权限

系统能力:SystemCapability.Sensors.MiscDevice

参数:

参数名 类型 必填 说明
stopMode VibratorStopMode 指示马达要停止指定的振动模式。
callback AsyncCallback 马达停止振动的回调函数,指示停止振动是否成功。

示例:

复制代码
vibrator.stop(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_PRESET, function(error){
    if(error){
        console.log("error.code"+error.code+"error.message"+error.message);
    }else{
        console.log("Callback returned to indicate successful.");
    }
})

EffectId

表示马达振动效果的字符串。

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.MiscDevice

名称 默认值 说明 HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿
EFFECT_CLOCK_TIMER "haptic.clock.timer" 调整定时器时振动器的振动效果。

VibratorStopMode

表示马达要停止指定的振动模式。

系统能力:以下各项对应的系统能力均为SystemCapability.Sensors.MiscDevice

名称 默认值 说明
VIBRATOR_STOP_MODE_TIME "time" 停止模式为duration模式的振动。即触发振动时参数类型为number,参数本身为指示振动持续时间的触发方式。
VIBRATOR_STOP_MODE_PRESET "preset" 停止模式为预置EffectId的振动。即触发振动时参数类型为EffectId,参数本身为指示马达振动效果的字符串的触发方式。
相关推荐
见山是山-见水是水1 小时前
鸿蒙Divider 分割线组件完全指南:内容分组、视觉分区与自定义样式
华为·harmonyos
贾伟康2 小时前
【知律|18】HarmonyOS ArkTS 权限与隐私实战:让 module.json5、功能说明和拒绝路径一致
harmonyos·arkts·隐私合规·appgallery·应用权限
蓝速科技5 小时前
蓝速科技信创落地:平衡安全合规与项目成本的实战方案
android·运维·人工智能·科技·安全·电脑·鸿蒙
码流怪侠7 小时前
2026年8月GitHub热榜深度拆解:Agent Skills席卷开源圈,一个“技能包“收割5万星
算法·程序员·github
两万五千个小时9 小时前
DeepSeek Harness 从 0 开始:15 schedule 域(定时任务)
人工智能·程序员·架构
王中阳Go12 小时前
业务代码凭什么不能直接调 Agent?——我在律所 AI 项目里做的 Harness 运行时治理
人工智能·后端·程序员
Kevin Coding13 小时前
JsonConvert:适用于 Android、鸿蒙与 Flutter 的 JSON 转 Model 插件
android·flutter·harmonyos
fightcrap15 小时前
DeepSeek Harness:Cordis 插件树与 Agent 主链路
人工智能·后端·程序员
m0_7496902315 小时前
【寻迹校园 HarmonyOS NEXT 实战 28】不交换手机号也能交接:固定校内交接点的隐私设计
华为·harmonyos·arkts·产品设计·隐私设计·安全交接