harmony 鸿蒙@ohos.vibrator (Vibrator)

  • 2022-08-09
  • 浏览 (697)

@ohos.vibrator (Vibrator)

The vibrator module provides APIs for starting or stopping vibration.

NOTE

The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version.

Modules to Import

import vibrator from '@ohos.vibrator';

vibrator.startVibration9+

startVibration(effect: VibrateEffect, attribute: VibrateAttribute, callback: AsyncCallback<void>): void

Starts vibration with the specified effect and attribute. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.VIBRATE

System capability: SystemCapability.Sensors.MiscDevice

Parameters

Name Type Mandatory Description
effect VibrateEffect Yes Vibration effect. The options are as follows:
- VibrateTime: vibration with the specified duration.
- VibratePreset: vibration with a preset effect.
- VibrateFromFile: vibration according to a custom vibration configuration file.
attribute VibrateAttribute Yes Vibration attribute.
callback AsyncCallback<void> Yes Callback used to return the result. If the vibration starts, err is undefined; otherwise, err is an error object.

Error codes

For details about the error codes, see Vibrator Error Codes.

ID Error Message
14600101 Device operation failed.

Example

Trigger vibration with the specified duration.

import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';

try {
  vibrator.startVibration({
    type: 'time',
    duration: 1000,
  }, {
    id: 0,
    usage: 'alarm'
  }, (error: BusinessError) => {
    if (error) {
      console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
      return;
    }
    console.info('Succeed in starting vibration');
  });
} catch (err) {
  let e: BusinessError = err as BusinessError;
  console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}

Trigger vibration with a preset effect.

import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';

try {
  vibrator.startVibration({
    type: 'preset',
    effectId: 'haptic.clock.timer',
    count: 1,
  }, {
    id: 0,
    usage: 'alarm'
  }, (error: BusinessError) => {
    if (error) {
      console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
      return;
    }
    console.info('Succeed in starting vibration');
  });
} catch (err) {
  let e: BusinessError = err as BusinessError;
  console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}

Trigger vibration according to a custom vibration configuration file.

import vibrator from '@ohos.vibrator';
import resourceManager from '@ohos.resourceManager';
import { BusinessError } from '@ohos.base';

const fileName: string = 'xxx.json';

let rawFd: resourceManager.RawFileDescriptor = getContext().resourceManager.getRawFdSync(fileName);

try {
  vibrator.startVibration({
    type: "file",
    hapticFd: { fd: rawFd.fd, offset: rawFd.offset, length: rawFd.length }
  }, {
    id: 0,
    usage: 'alarm'
  }, (error: BusinessError) => {
    if (error) {
      console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
      return;
    }
    console.info('Succeed in starting vibration');
  });
} catch (err) {
  let e: BusinessError = err as BusinessError;
  console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}

getContext().resourceManager.closeRawFdSync(fileName);

vibrator.startVibration9+

startVibration(effect: VibrateEffect, attribute: VibrateAttribute): Promise<void>

Starts vibration with the specified effect and attribute. This API uses a promise to return the result.

Required permissions: ohos.permission.VIBRATE

System capability: SystemCapability.Sensors.MiscDevice

Parameters

Name Type Mandatory Description
effect VibrateEffect Yes Vibration effect. The options are as follows:
- VibrateTime: vibration with the specified duration.
- VibratePreset: vibration with a preset effect.
- VibrateFromFile: vibration according to a custom vibration configuration file.
attribute VibrateAttribute Yes Vibration attribute.

Return value

Type Description
Promise<void> Promise that returns no value.

Error codes

For details about the error codes, see Vibrator Error Codes.

ID Error Message
14600101 Device operation failed.

Example

Trigger vibration with the specified duration.

import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';

try {
  vibrator.startVibration({
    type: 'time',
    duration: 1000
  }, {
    id: 0,
    usage: 'alarm'
  }).then(() => {
    console.info('Succeed in starting vibration');
  }, (error: BusinessError) => {
    console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
  });
} catch (err) {
  let e: BusinessError = err as BusinessError;
  console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}

Trigger vibration with a preset effect.

import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';

try {
  vibrator.startVibration({
    type: 'preset',
    effectId: 'haptic.clock.timer',
    count: 1,
  }, {
    id: 0,
    usage: 'alarm'
  }).then(() => {
    console.info('Succeed in starting vibration');
  }, (error: BusinessError) => {
    console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
  });
} catch (err) {
  let e: BusinessError = err as BusinessError;
  console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}

Trigger vibration according to a custom vibration configuration file.

import vibrator from '@ohos.vibrator';
import resourceManager from '@ohos.resourceManager';
import { BusinessError } from '@ohos.base';

const fileName: string = 'xxx.json';

let rawFd: resourceManager.RawFileDescriptor = getContext().resourceManager.getRawFdSync(fileName);

try {
  vibrator.startVibration({
    type: "file",
    hapticFd: { fd: rawFd.fd, offset: rawFd.offset, length: rawFd.length }
  }, {
    id: 0,
    usage: 'alarm'
  }).then(() => {
    console.info('Succeed in starting vibration');
  }, (error: BusinessError) => {
    console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
  });
} catch (err) {
  let e: BusinessError = err as BusinessError;
  console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}

getContext().resourceManager.closeRawFdSync(fileName);

vibrator.stopVibration9+

stopVibration(stopMode: VibratorStopMode, callback: AsyncCallback<void>): void

Stops vibration in the specified mode. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.VIBRATE

System capability: SystemCapability.Sensors.MiscDevice

Parameters

Name Type Mandatory Description
stopMode VibratorStopMode Yes Mode to stop the vibration. The options are as follows:
- VIBRATOR_STOP_MODE_TIME: used to stop vibration with a fixed duration.
- VIBRATOR_STOP_MODE_PRESET: used to stop preset vibration.
To stop custom vibration, use vibrator.stopVibration10+.
callback AsyncCallback<void> Yes Callback used to return the result. If the vibration stops, err is undefined; otherwise, err is an error object.

Example

Stop vibration with a fixed duration.

import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';

try {
  // Start vibration at a fixed duration.
  vibrator.startVibration({
    type: 'time',
    duration: 1000,
  }, {
    id: 0,
    usage: 'alarm'
  }, (error: BusinessError) => {
    if (error) {
      console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
      return;
    }
    console.info('Succeed in starting vibration');
  });
} catch (err) {
  let e: BusinessError = err as BusinessError;
  console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}

try {
  // Stop vibration in VIBRATOR_STOP_MODE_TIME mode.
  vibrator.stopVibration(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_TIME, (error: BusinessError) => {
    if (error) {
      console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`);
      return;
    }
    console.info('Succeed in stopping vibration');
  })
} catch (err) {
  let e: BusinessError = err as BusinessError;
  console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}

Stop preset vibration.

import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';

try {
  // Start vibration with a preset effect.
  vibrator.startVibration({
    type: 'preset',
    effectId: 'haptic.clock.timer',
    count: 1,
  }, {
    id: 0,
    usage: 'alarm'
  }, (error: BusinessError) => {
    if (error) {
      console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
      return;
    }
    console.info('Succeed in starting vibration');
  });
} catch (err) {
  let e: BusinessError = err as BusinessError;
  console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}

try {
  // Stop vibration in VIBRATOR_STOP_MODE_PRESET mode.
  vibrator.stopVibration(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_PRESET, (error: BusinessError) => {
    if (error) {
      console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`);
      return;
    }
    console.info('Succeed in stopping vibration');
  })
} catch (err) {
  let e: BusinessError = err as BusinessError;
  console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}

vibrator.stopVibration9+

stopVibration(stopMode: VibratorStopMode): Promise<void>

Stops vibration in the specified mode. This API uses a promise to return the result.

Required permissions: ohos.permission.VIBRATE

System capability: SystemCapability.Sensors.MiscDevice

Parameters

Name Type Mandatory Description
stopMode VibratorStopMode Yes Mode to stop the vibration. The options are as follows:
- VIBRATOR_STOP_MODE_TIME: used to stop vibration with a fixed duration.
- VIBRATOR_STOP_MODE_PRESET: used to stop preset vibration.
To stop custom vibration, use vibrator.stopVibration10+.

Return value

Type Description
Promise<void> Promise that returns no value.

Example

Stop vibration with a fixed duration.

import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';

try {
  // Start vibration at a fixed duration.
  vibrator.startVibration({
    type: 'time',
    duration: 1000,
  }, {
    id: 0,
    usage: 'alarm'
  }).then(() => {
    console.info('Succeed in starting vibration');
  }, (error: BusinessError) => {
    console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
  });
} catch (err) {
  let e: BusinessError = err as BusinessError;
  console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}

try {
  // Stop vibration in VIBRATOR_STOP_MODE_TIME mode.
  vibrator.stopVibration(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_TIME).then(() => {
    console.info('Succeed in stopping vibration');
  }, (error: BusinessError) => {
    console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`);
  });
} catch (err) {
  let e: BusinessError = err as BusinessError;
  console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}

Stop preset vibration.

import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';

try {
  // Start vibration with a preset effect.
  vibrator.startVibration({
    type: 'preset',
    effectId: 'haptic.clock.timer',
    count: 1,
  }, {
    id: 0,
    usage: 'alarm'
  }).then(() => {
    console.info('Succeed in starting vibration');
  }, (error: BusinessError) => {
    console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
  });
} catch (err) {
  let e: BusinessError = err as BusinessError;
  console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}

try {
  // Stop vibration in VIBRATOR_STOP_MODE_PRESET mode.
  vibrator.stopVibration(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_PRESET).then(() => {
    console.info('Succeed in stopping vibration');
  }, (error: BusinessError) => {
    console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`);
  });
} catch (err) {
  let e: BusinessError = err as BusinessError;
  console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}

vibrator.stopVibration10+

stopVibration(callback: AsyncCallback<void>): void

Stops vibration in all modes. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.VIBRATE

System capability: SystemCapability.Sensors.MiscDevice

Parameters

Name Type Mandatory Description
callback AsyncCallback<void> Yes Callback used to return the result. If the vibration stops, err is undefined; otherwise, err is an error object.

Example

import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';

try {
  // Stop vibration in all modes.
  vibrator.stopVibration((error: BusinessError) => {
    if (error) {
      console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`);
      return;
    }
    console.info('Succeed in stopping vibration');
  })
} catch (error) {
  let e: BusinessError = error as BusinessError;
  console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}

vibrator.stopVibration10+

stopVibration(): Promise<void>

Stops vibration in all modes. This API uses a promise to return the result.

Required permissions: ohos.permission.VIBRATE

System capability: SystemCapability.Sensors.MiscDevice

Return value

Type Description
Promise<void> Promise that returns no value.

Example

import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';

try {
  // Stop vibration in all modes.
  vibrator.stopVibration().then(() => {
    console.info('Succeed in stopping vibration');
  }, (error: BusinessError) => {
    console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`);
  });
} catch (error) {
  let e: BusinessError = error as BusinessError;
  console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}

vibrator.isSupportEffect10+

isSupportEffect(effectId: string, callback: AsyncCallback<boolean>): void

Checks whether the passed effect ID is supported. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Sensors.MiscDevice

Parameters

Name Type Mandatory Description
effectId string Yes Vibration effect ID.
callback AsyncCallback<boolean> Yes Callback used to return the result. The value true means that the passed effect ID is supported, and false means the opposite.

Example

import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';

try {
  // Check whether 'haptic.clock.timer' is supported.
  vibrator.isSupportEffect('haptic.clock.timer', (err: BusinessError, state: boolean) => {
    if (err) {
      console.error(`Failed to query effect. Code: ${err.code}, message: ${err.message}`);
      return;
    }
    console.info('Succeed in querying effect');
    if (state) {
      try {
        // To use startVibration, you must configure the ohos.permission.VIBRATE permission.
        vibrator.startVibration({
          type: 'preset',
          effectId: 'haptic.clock.timer',
          count: 1,
        }, {
          usage: 'unknown'
        }, (error: BusinessError) => {
          if (error) {
            console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
          } else {
            console.info('Succeed in starting vibration');
          }
        });
      } catch (error) {
        let e: BusinessError = error as BusinessError;
        console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
      }
    }
  })
} catch (error) {
  let e: BusinessError = error as BusinessError;
  console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}

vibrator.isSupportEffect10+

isSupportEffect(effectId: string): Promise<boolean>

Checks whether the passed effect ID is supported. This API uses a promise to return the result.

System capability: SystemCapability.Sensors.MiscDevice

Parameters

Name Type Mandatory Description
effectId string Yes Describes the preset vibration effect ID.

Return value

Type Description
Promise<boolean> Promise that returns the result. The value true means that the passed effect ID is supported, and false means the opposite.

Example

import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';

try {
  // Check whether 'haptic.clock.timer' is supported.
  vibrator.isSupportEffect('haptic.clock.timer').then((state: boolean) => {
    console.info(`The query result is ${state}`);
    if (state) {
      try {
        vibrator.startVibration({
          type: 'preset',
          effectId: 'haptic.clock.timer',
          count: 1,
        }, {
          usage: 'unknown'
        }).then(() => {
          console.info('Succeed in starting vibration');
        }).catch((error: BusinessError) => {
          console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
        });
      } catch (error) {
        let e: BusinessError = error as BusinessError;
        console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
      }
    }
  }, (error: BusinessError) => {
    console.error(`Failed to query effect. Code: ${error.code}, message: ${error.message}`);
  })
} catch (error) {
  let e: BusinessError = error as BusinessError;
  console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
}

EffectId

Describes the preset vibration effect ID.

System capability: SystemCapability.Sensors.MiscDevice

Name Value Description
EFFECT_CLOCK_TIMER “haptic.clock.timer” Vibration effect of the vibrator when a user adjusts the timer.

VibratorStopMode

Enumerates the modes available to stop the vibration.

System capability: SystemCapability.Sensors.MiscDevice

Name Value Description
VIBRATOR_STOP_MODE_TIME “time” The vibration to stop is in duration mode.
VIBRATOR_STOP_MODE_PRESET “preset” The vibration to stop is in EffectId mode.

VibrateEffect9+

Describes the vibration effect.

System capability: SystemCapability.Sensors.MiscDevice

Type Description
VibrateTime Vibration with the specified duration.
VibratePreset Vibration with a preset effect.
VibrateFromFile10+ Vibration according to a custom vibration configuration file.

VibrateTime9+

Describes the vibration with a fixed duration.

System capability: SystemCapability.Sensors.MiscDevice

Name Type Mandatory Description
type string Yes The value time means vibration with the specified duration.
duration number Yes Vibration duration, in ms.

VibratePreset9+

Describes the vibration with a preset effect.

System capability: SystemCapability.Sensors.MiscDevice

Name Type Mandatory Description
type string Yes The value preset means vibration with the specified effect.
effectId string Yes Preset vibration effect ID.
count number Yes Number of vibrations to repeat.

VibrateFromFile10+

Describes the custom vibration type, which is supported only by certain devices. If a device does not support this vibration type, an error code indicating unsupported device is returned.

System capability: SystemCapability.Sensors.MiscDevice

Name Type Mandatory Description
type string Yes The value file means vibration according to a vibration configuration file.
hapticFd HapticFileDescriptor Yes File descriptor (FD) of the vibration configuration file.

HapticFileDescriptor10+

Describes the FD of a custom vibration configuration file. Ensure that the file is available, and the parameters in it can be obtained from the sandbox path through the file management API or from the HAP resource through the resource management API. The use case is as follows: The system triggers vibration according to the sequence set in a configuration file, based on the specified offset and length. For details about the storage format of the vibration sequence, see Custom Vibration.

System capability: SystemCapability.Sensors.MiscDevice

Name Type Mandatory Description
fd number Yes FD of the custom vibration configuration file.
offset number No Offset from the start position of the file, in bytes. The default value is the start position of the file, and the value cannot exceed the valid range of the file.
length number No Resource length, in bytes. The default value is the length from the offset position to the end of the file, and the value cannot exceed the valid range of the file.

VibrateAttribute9+

Describes the vibration attribute.

System capability: SystemCapability.Sensors.MiscDevice

Name Type Mandatory Description
id number No Vibrator ID. The default value is 0.
usage Usage Yes Vibration scenario.

Usage9+

Enumerates the vibration scenarios.

System capability: SystemCapability.Sensors.MiscDevice

Name Type Description
unknown string Unknown scenario, with the lowest priority.
alarm string Vibration for alarms.
ring string Vibration for incoming calls.
notification string Vibration for notifications.
communication string Vibration for communication.
touch string Touch vibration scenario.
media string Multimedia vibration scenario.
physicalFeedback string Physical feedback vibration scenario.
simulateReality string Simulated reality vibration scenario.

vibrator.vibrate(deprecated)

vibrate(duration: number): Promise<void>

Triggers vibration with the specified duration. This API uses a promise to return the result.

This API is deprecated since API version 9. You are advised to use vibrator.startVibration instead.

Required permissions: ohos.permission.VIBRATE

System capability: SystemCapability.Sensors.MiscDevice

Parameters

Name Type Mandatory Description
duration number Yes Vibration duration, in ms.

Return value

Type Description
Promise<void> Promise that returns no value.

Example

import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';

vibrator.vibrate(1000).then(() => {
  console.info('Succeed in vibrating');
}, (error: BusinessError) => {
  console.error(`Failed to vibrate. Code: ${error.code}, message: ${error.message}`);
});

vibrator.vibrate(deprecated)

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

Triggers vibration with the specified duration. This API uses an asynchronous callback to return the result.

This API is deprecated since API version 9. You are advised to use vibrator.startVibration instead.

Required permissions: ohos.permission.VIBRATE

System capability: SystemCapability.Sensors.MiscDevice

Parameters

Name Type Mandatory Description
duration number Yes Vibration duration, in ms.
callback AsyncCallback<void> No Callback used to return the result. If the vibration starts, err is undefined; otherwise, err is an error object.

Example

import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';

vibrator.vibrate(1000, (error: BusinessError) => {
  if (error) {
    console.error(`Failed to vibrate. Code: ${error.code}, message: ${error.message}`);
  } else {
    console.info('Succeed in vibrating');
  }
})

vibrator.vibrate(deprecated)

vibrate(effectId: EffectId): Promise<void>

Triggers vibration with the specified effect. This API uses a promise to return the result.

This API is deprecated since API version 9. You are advised to use vibrator.startVibration instead.

Required permissions: ohos.permission.VIBRATE

System capability: SystemCapability.Sensors.MiscDevice

Parameters

Name Type Mandatory Description
effectId EffectId Yes Preset vibration effect ID.

Return value

Type Description
Promise<void> Promise that returns no value.

Example

import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';

vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER).then(() => {
  console.info('Succeed in vibrating');
}, (error: BusinessError) => {
  console.error(`Failed to vibrate. Code: ${error.code}, message: ${error.message}`);
});

vibrator.vibrate(deprecated)

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

Triggers vibration with the specified effect. This API uses an asynchronous callback to return the result.

This API is deprecated since API version 9. You are advised to use vibrator.startVibration instead.

Required permissions: ohos.permission.VIBRATE

System capability: SystemCapability.Sensors.MiscDevice

Parameters

Name Type Mandatory Description
effectId EffectId Yes Preset vibration effect ID.
callback AsyncCallback<void> No Callback used to return the result. If the vibration starts, err is undefined; otherwise, err is an error object.

Example

import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';

vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER, (error: BusinessError) => {
  if (error) {
    console.error(`Failed to vibrate. Code: ${error.code}, message: ${error.message}`);
  } else {
    console.info('Succeed in vibrating');
  }
})

vibrator.stop(deprecated)

stop(stopMode: VibratorStopMode): Promise<void>

Stops vibration in the specified mode. This API uses a promise to return the result.

This API is deprecated since API version 9. You are advised to use vibrator.stopVibration instead.

Required permissions: ohos.permission.VIBRATE

System capability: SystemCapability.Sensors.MiscDevice

Parameters

Name Type Mandatory Description
stopMode VibratorStopMode Yes Mode to stop the vibration.

Return value

Type Description
Promise<void> Promise that returns no value.

Example

import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';

// Start vibration based on the specified effect ID.
vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER, (error: BusinessError) => {
  if (error) {
    console.error(`Failed to vibrate. Code: ${error.code}, message: ${error.message}`);
  } else {
    console.info('Succeed in vibrating');
  }
})
// Stop vibration in VIBRATOR_STOP_MODE_PRESET mode.
vibrator.stop(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_PRESET).then(() => {
  console.info('Succeed in stopping');
}, (error: BusinessError) => {
  console.error(`Failed to stop. Code: ${error.code}, message: ${error.message}`);
});

vibrator.stop(deprecated)

stop(stopMode: VibratorStopMode, callback?: AsyncCallback<void>): void

Stops vibration in the specified mode. This API uses an asynchronous callback to return the result.

This API is deprecated since API version 9. You are advised to use vibrator.stopVibration instead.

Required permissions: ohos.permission.VIBRATE

System capability: SystemCapability.Sensors.MiscDevice

Parameters

Name Type Mandatory Description
stopMode VibratorStopMode Yes Mode to stop the vibration.
callback AsyncCallback<void> No Callback used to return the result. If the vibration stops, err is undefined; otherwise, err is an error object.

Example

import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';

// Start vibration based on the specified effect ID.
vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER, (error: BusinessError) => {
  if (error) {
    console.error(`Failed to vibrate. Code: ${error.code}, message: ${error.message}`);
  } else {
    console.info('Succeed in vibrating');
  }
})
// Stop vibration in VIBRATOR_STOP_MODE_PRESET mode.
vibrator.stop(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_PRESET, (error: BusinessError) => {
  if (error) {
    console.error(`Failed to stop. Code: ${error.code}, message: ${error.message}`);
  } else {
    console.info('Succeed in stopping');
  }
})

你可能感兴趣的鸿蒙文章

harmony 鸿蒙APIs

harmony 鸿蒙System Common Events (To Be Deprecated Soon)

harmony 鸿蒙System Common Events

harmony 鸿蒙API Reference Document Description

harmony 鸿蒙Enterprise Device Management Overview (for System Applications Only)

harmony 鸿蒙BundleStatusCallback

harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager)

harmony 鸿蒙@ohos.distributedBundle (Distributed Bundle Management)

harmony 鸿蒙@ohos.bundle (Bundle)

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (EnterpriseAdminExtensionAbility)

0  赞