@ohos.vibrator (振动)
作者:坚果,公众号:”大前端之旅“,哔哩哔哩,OpenHarmony布道师,OpenHarmony校源行开源大使,51CTO博客专家博主,阿里云博客专家。
导入模块
使用的时候,需要先导入对应的模块
代码语言:javascript复制import vibrator from '@ohos.vibrator';
添加权限
然后需要添加权限
FA
代码语言:javascript复制"reqPermissions": [
{
"name": "ohos.permission.VIBRATE"
}
Stage
代码语言:javascript复制"requestPermissions": [
{
"name": "ohos.permission.VIBRATE"
}
]
接下来我们来看后面的内容
vibrator.vibrate
vibrate(duration: number): Promise
按照指定持续时间触发马达振动。需要添加权限
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
duration | number | 是 | 指示马达振动的持续时间。 |
返回值:
类型 | 说明 |
---|---|
Promise | 指示触发振动是否成功。 |
示例:
代码语言:javascript复制import vibrator from '@ohos.vibrator';
@Entry
@Component
struct VibPage {
@State message: string = 'Hello '
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold).onClick(()=>{
vibrator.vibrate(1000).then(()=>{
console.log("Promise returned to indicate a successful vibration.");
}, (error)=>{
console.log("error.code" error.code "error.message" error.message);
});
})
}
.width('100%')
}
.height('100%')
}
}
需要注意的是在HarmonyOS应用中,ApI8的
接口声明文件编写错误,需要手动修改下SDK目录下接口声明文件,文件路径Sdkopenharmony8etsapi@ohos.vibrator.d.ts 修改vibrate方法顺序为 function vibrate(duration: number): Promise; function vibrate(duration: number, callback?: AsyncCallback): void;