vibrator-guidelines.md 2.8 KB
Newer Older
H
update  
HelloCrease 已提交
1 2 3 4 5 6
# Vibrator开发指导


## 场景介绍

当设备需要设置不同的振动效果时,可以调用Vibrator模块,例如:设备的按键可以设置不同强度和不同时长的振动,闹钟和来电可以设置不同强度和时长的单次或周期振动。
7

8
详细的接口介绍请参考[Vibrator接口](../reference/apis/js-apis-vibrator.md)
H
update  
HelloCrease 已提交
9 10 11 12


## 接口说明

13 14 15 16 17 18 19 20
| 模块            | 接口名                                      | 描述                              |
| ------------- | ---------------------------------------- | ------------------------------- |
| ohos.vibrator | vibrate(duration: number): Promise<void> | 触发马达按照时长振动,使用Promise异步回调。       |
| ohos.vibrator | vibrate(duration: number, callback?: AsyncCallback<void>): void | 触发马达按照时长振动,使用Callback异步回调。      |
| ohos.vibrator | vibrate(effectId: EffectId): Promise<void> | 触发马达按照开发者传递效果振动,使用Promise异步回调。  |
| ohos.vibrator | vibrate(effectId: EffectId, callback?: AsyncCallback<void>): void | 触发马达按照开发者传递效果振动,使用Callback异步回调。 |
| ohos.vibrator | stop(stopMode: VibratorStopMode): Promise<void> | 停止振动。                           |
| ohos.vibrator | stop(stopMode: VibratorStopMode, callback?: AsyncCallback<void>): void | 停止振动。                           |
H
update  
HelloCrease 已提交
21 22 23 24


## 开发步骤

H
h00514358 已提交
25
1. 控制设备上的振动器,需要申请权限ohos.permission.VIBRATE。具体配置方式请参考[权限申请声明](../security/accesstoken-guidelines.md)
H
update  
HelloCrease 已提交
26 27

2. 触发设备振动。
H
HelloCrease 已提交
28

H
update  
HelloCrease 已提交
29 30
   ```
   import vibrator from "@ohos.vibrator"
31 32
   vibrator.vibrate(1000).then((error) => {
       if (error) { //调用失败,打印error.code和error.message
33
          console.log("Promise return failed.error.code " + error.code + "error.message " + error.message);  
34
       } else { //调用成功,设备开始振动
35
          console.log("Promise returned to indicate a successful vibration.")  
36
       }
H
update  
HelloCrease 已提交
37 38 39 40
   })
   ```

3. 停止设备振动。
H
HelloCrease 已提交
41

H
update  
HelloCrease 已提交
42 43
   ```
   import vibrator from "@ohos.vibrator"
44 45
   vibrator.stop(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_PRESET).then((error) => {
      if (error) { //调用失败,打印error.code和error.message
46
          console.log("Promise return failed.error.code " + error.code + "error.message " + error.message);
47
      } else { //调用成功,设备停止振动
48
          console.log("Promise returned to indicate successful.");
49
      }
H
update  
HelloCrease 已提交
50 51
   })
   ```
Z
zengyawen 已提交
52 53 54 55 56

## 相关实例

针对振动开发,有以下相关实例可供参考:

57
- [`Vibrator`:振动(ArkTS)(API8)](https://gitee.com/openharmony/applications_app_samples/tree/master/device/Vibrator)