@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. |
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
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);
}
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. |
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
try {
vibrator.startVibration({
type: 'time',
duration: 1000
}, {
id: 0,
usage: 'alarm'
}).then(() => {
console.log('Promise returned to indicate a successful vibration');
}, (error) => {
console.error('error.code' + error.code + 'error.message' + error.message);
});
} catch (err) {
console.error('errCode: ' + err.code + ' ,msg: ' + err.message);
}
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. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. If the vibration stops, err is undefined; otherwise, err is an error object. |
Example
try {
// Start vibration at a fixed duration.
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);
}
try {
// Stop vibration in VIBRATOR_STOP_MODE_TIME mode.
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);
}
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. |
Return value
Type | Description |
---|---|
Promise<void> | Promise that returns no value. |
Example
try {
// Start vibration at a fixed duration.
vibrator.startVibration({
type: 'time',
duration: 1000
}, {
id: 0,
usage: 'alarm'
}).then(() => {
console.log('Promise returned to indicate a successful vibration');
}, (error) => {
console.error('error.code' + error.code + 'error.message' + error.message);
});
} catch (err) {
console.error('errCode: ' + err.code + ' ,msg: ' + err.message);
}
try {
// Stop vibration in VIBRATOR_STOP_MODE_TIME mode.
vibrator.stopVibration(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);
});
} catch (err) {
console.info('errCode: ' + err.code + ' ,msg: ' + err.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 | Triggers vibration with the specified duration. This API uses a promise to return the result. |
VibratePreset | Vibration with a preset effect. |
VibrateTime9+
Describes the vibration with the specified duration.
System capability: SystemCapability.Sensors.MiscDevice
Name | Value | Description |
---|---|---|
type | "time" | Vibration with the specified duration. |
duration | - | Vibration duration, in ms. |
VibratePreset9+
Describes the vibration with a preset effect.
System capability: SystemCapability.Sensors.MiscDevice
Name | Value | Description |
---|---|---|
type | "preset" | Vibration with the specified effect. |
effectId | - | Preset vibration effect ID. |
count | - | Number of vibrations to repeat. |
VibrateAttribute9+
Describes the vibration attribute.
System capability: SystemCapability.Sensors.MiscDevice
Name | Value | Description |
---|---|---|
id | 0 | Vibrator ID. |
usage | - | 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
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(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
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(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
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(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
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(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
// Start vibration based on the specified effect ID.
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.');
}
})
// Stop vibration in VIBRATOR_STOP_MODE_PRESET mode.
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(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
// Start vibration based on the specified effect ID.
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.');
}
})
// Stop vibration in VIBRATOR_STOP_MODE_PRESET mode.
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.');
}
})