diff --git a/zh-cn/application-dev/device/vibrator-guidelines.md b/zh-cn/application-dev/device/vibrator-guidelines.md
index 1ff79bc2ab35913705d58b928a2a804641dcbb71..e3c9b5c5f5488fb93ba7585bda731c32f4d4395f 100644
--- a/zh-cn/application-dev/device/vibrator-guidelines.md
+++ b/zh-cn/application-dev/device/vibrator-guidelines.md
@@ -31,7 +31,7 @@
```js
import vibrator from '@ohos.vibrator';
try {
- vibrator.startVibration({
+ vibrator.startVibration({ // 使用startVibration需要添加ohos.permission.VIBRATE权限
type: 'time',
duration: 1000,
}, {
@@ -54,7 +54,7 @@
```js
import vibrator from '@ohos.vibrator';
try {
- // 按照VIBRATOR_STOP_MODE_TIME模式停止振动
+ // 按照VIBRATOR_STOP_MODE_TIME模式停止振动, 使用stopVibration需要添加ohos.permission.VIBRATE权限
vibrator.stopVibration(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_TIME, function (error) {
if (error) {
console.log('error.code' + error.code + 'error.message' + error.message);
@@ -71,7 +71,21 @@
```js
import vibrator from '@ohos.vibrator';
+ // 使用startVibration、stopVibration需要添加ohos.permission.VIBRATE权限
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.');
+ });
// 停止所有模式的马达振动
vibrator.stopVibration(function (error) {
if (error) {
@@ -91,30 +105,34 @@
import vibrator from '@ohos.vibrator';
try {
// 查询是否支持'haptic.clock.timer'
- vibrator.isSupportEffect('haptic.clock.timer', function (state) {
+ vibrator.isSupportEffect('haptic.clock.timer', function (err, state) {
+ if (err) {
+ console.error('isSupportEffect failed, error:' + JSON.stringify(err));
+ return;
+ }
console.log('The effectId is ' + (state ? 'supported' : 'unsupported'));
if (state) {
try {
- vibrator.startVibration({
- type: 'preset',
- effectId: 'haptic.clock.timer',
- count: 1,
+ vibrator.startVibration({ // 使用startVibration需要添加ohos.permission.VIBRATE权限
+ type: 'preset',
+ effectId: 'haptic.clock.timer',
+ count: 1,
}, {
usage: 'unknown'
}, (error) => {
if(error) {
- console.log('haptic.clock.timer vibrator error');
+ console.error('haptic.clock.timer vibrator error:' + JSON.stringify(error));
} else {
console.log('haptic.clock.timer vibrator success');
}
});
} catch (error) {
- console.error('errCode: ' + error.code + ' ,msg: ' + error.message);
+ console.error('Exception in, error:' + JSON.stringify(error));
}
}
})
} catch (error) {
- console.error('exception in, error:' + JSON.stringify(error));
+ console.error('Exception in, error:' + JSON.stringify(error));
}
```
diff --git a/zh-cn/application-dev/reference/apis/js-apis-vibrator.md b/zh-cn/application-dev/reference/apis/js-apis-vibrator.md
index 59033c21b858cb3b697f0ccf91d20562a93f5307..52308961b9f3d84319dfd670cd2fcb9e896b2887 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-vibrator.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-vibrator.md
@@ -42,6 +42,7 @@ startVibration(effect: VibrateEffect, attribute: VibrateAttribute, callback: Asy
示例:
```js
+import vibrator from '@ohos.vibrator';
try {
vibrator.startVibration({
type: 'time',
@@ -95,6 +96,7 @@ startVibration(effect: VibrateEffect, attribute: VibrateAttribute): Promise<v
**示例:**
```js
+import vibrator from '@ohos.vibrator';
try {
vibrator.startVibration({
type: 'time',
@@ -132,6 +134,7 @@ stopVibration(stopMode: VibratorStopMode, callback: AsyncCallback<void>):
**示例:**
```js
+import vibrator from '@ohos.vibrator';
try {
// 按照固定时长振动
vibrator.startVibration({
@@ -190,6 +193,7 @@ stopVibration(stopMode: VibratorStopMode): Promise<void>
**示例:**
```js
+import vibrator from '@ohos.vibrator';
try {
// 按照固定时长振动
vibrator.startVibration({
@@ -238,6 +242,7 @@ stopVibration(callback: AsyncCallback<void>): void
**示例:**
```js
+import vibrator from '@ohos.vibrator';
try {
// 按照固定时长振动
vibrator.startVibration({
@@ -290,6 +295,7 @@ stopVibration(): Promise<void>
**示例:**
```js
+import vibrator from '@ohos.vibrator';
try {
// 按照固定时长振动
vibrator.startVibration({
@@ -337,32 +343,37 @@ isSupportEffect(effectId: string, callback: AsyncCallback<boolean>): void
**示例:**
```js
+import vibrator from '@ohos.vibrator';
try {
// 查询是否支持'haptic.clock.timer'
- vibrator.isSupportEffect('haptic.clock.timer', function (state) {
+ vibrator.isSupportEffect('haptic.clock.timer', function (err, state) {
+ if (err) {
+ console.error('isSupportEffect failed, error:' + JSON.stringify(err));
+ return;
+ }
console.log('The effectId is ' + (state ? 'supported' : 'unsupported'));
if (state) {
try {
- vibrator.startVibration({
- type: 'preset',
- effectId: 'haptic.clock.timer',
- count: 1,
+ vibrator.startVibration({ // 使用startVibration需要ohos.permission.VIBRATE权限
+ type: 'preset',
+ effectId: 'haptic.clock.timer',
+ count: 1,
}, {
usage: 'unknown'
}, (error) => {
if(error) {
- console.log('haptic.clock.timer vibrator error');
+ console.error('haptic.clock.timer vibrator error:' + JSON.stringify(error));
} else {
console.log('haptic.clock.timer vibrator success');
}
});
} catch (error) {
- console.error('errCode: ' + error.code + ' ,msg: ' + error.message);
+ console.error('Exception in, error:' + JSON.stringify(error));
}
}
})
} catch (error) {
- console.error('exception in, error:' + JSON.stringify(error));
+ console.error('Exception in, error:' + JSON.stringify(error));
}
```
@@ -389,31 +400,36 @@ isSupportEffect(effectId: string): Promise<boolean>
**示例:**
```js
+import vibrator from '@ohos.vibrator';
try {
- vibrator.isSupportEffect('haptic.clock.timer').then((state) => {
+ vibrator.isSupportEffect('haptic.clock.timer').then((err, state) => {
+ if (err) {
+ console.error('isSupportEffect failed. Error msg:' + JSON.stringify(err));
+ return;
+ }
console.log('The effectId is ' + (state ? 'supported' : 'unsupported'));
if (state) {
try {
- vibrator.startVibration({
- type: 'preset',
- effectId: 'haptic.clock.timer',
- count: 1,
+ vibrator.startVibration({ // 使用startVibration需要ohos.permission.VIBRATE权限
+ type: 'preset',
+ effectId: 'haptic.clock.timer',
+ count: 1,
}, {
usage: 'unknown'
}).then(()=>{
console.log('Promise returned to indicate a successful vibration');
}).catch((error)=>{
- console.error('error.code' + error.code + 'error.message' + error.message);
- });
+ console.error('Promise returned to indicate a failed vibration:' + JSON.stringify(error));
+ });
} catch (error) {
console.error('exception in, error:' + JSON.stringify(error));
}
}
}, (error) => {
- console.error('error.code' + error.code + 'error.message' + error.message);
+ console.error('isSupportEffect failed, error:' + JSON.stringify(error));
})
} catch (error) {
- console.error('exception in, error:' + JSON.stringify(error));
+ console.error('Exception in, error:' + JSON.stringify(error));
}
```
diff --git a/zh-cn/release-notes/changelogs/OpenHarmony_4.0.5.2/changelogs-miscdevice.md b/zh-cn/release-notes/changelogs/OpenHarmony_4.0.5.2/changelogs-miscdevice.md
new file mode 100755
index 0000000000000000000000000000000000000000..7397e8e34a6788322d1512f541488c9e68a759da
--- /dev/null
+++ b/zh-cn/release-notes/changelogs/OpenHarmony_4.0.5.2/changelogs-miscdevice.md
@@ -0,0 +1,114 @@
+# 泛Sensor子系统Miscdevice Changelog
+
+## cl.vibrator.isSupportEffect接口新增
+
+新增isSupportEffect接口。
+
+**变更影响**
+
+基于OpenHarmony4.0.5.2及之后的SDK版本开发的应用,可使用isSupportEffect接口查询传入effectId是否支持;使用stopVibration接口停止所有类型的振动的。
+
+**关键接口/组件变更**
+
+@ohos.vibrator.d.ts中新增isSupportEffect接口。
+
+| 模块名 | 类名 | 方法/属性/枚举/常量 | 变更类型 |
+| -- | -- | -- | -- |
+| @ohos.vibrator.d.ts | vibrator | isSupportEffect(effectId: string, callback: AsyncCallback<boolean>): void | 新增 |
+| @ohos.vibrator.d.ts | vibrator | isSupportEffect(effectId: string): Promise<boolean> | 新增 |
+
+**适配指导**
+
+通过调用isSupportEffect接口查询是否支持传入的参数effectId。
+
+```ts
+import vibrator from '@ohos.vibrator';
+try {
+ // 查询是否支持'haptic.clock.timer'
+ vibrator.isSupportEffect('haptic.clock.timer', function (err, state) {
+ if (err) {
+ console.error('isSupportEffect failed, error:' + JSON.stringify(err));
+ return;
+ }
+ console.log('The effectId is ' + (state ? 'supported' : 'unsupported'));
+ if (state) {
+ try {
+ vibrator.startVibration({ // 使用startVibration需要添加ohos.permission.VIBRATE权限
+ type: 'preset',
+ effectId: 'haptic.clock.timer',
+ count: 1,
+ }, {
+ usage: 'unknown'
+ }, (error) => {
+ if(error) {
+ console.error('haptic.clock.timer vibrator error:' + JSON.stringify(error));
+ } else {
+ console.log('haptic.clock.timer vibrator success');
+ }
+ });
+ } catch (error) {
+ console.error('Exception in, error:' + JSON.stringify(error));
+ }
+ }
+ })
+} catch (error) {
+ console.error('Exception in, error:' + JSON.stringify(error));
+}
+```
+
+## cl.vibrator.stopVibration接口新增
+
+新增stopVibration接口。
+
+**变更影响**
+
+基于OpenHarmony4.0.5.2及之后的SDK版本开发的应用,可使用stopVibration接口停止所有类型的振动的。
+
+**关键接口/组件变更**
+
+@ohos.vibrator.d.ts中新增stopVibration接口。
+
+| 模块名 | 类名 | 方法/属性/枚举/常量 | 变更类型 |
+| ------------------- | -------- | -------------------------------------------------------- | -------- |
+| @ohos.vibrator.d.ts | vibrator | stopVibration(callback: AsyncCallback<void>): void | 新增 |
+| @ohos.vibrator.d.ts | vibrator | stopVibration(): Promise<void> | 新增 |
+
+**适配指导**
+
+通过调用isSupportEffect接口查询是否支持传入的参数effectId。
+
+```ts
+import vibrator from '@ohos.vibrator';
+try {
+ // 查询是否支持'haptic.clock.timer'
+ vibrator.isSupportEffect('haptic.clock.timer', function (err, state) {
+ if (err) {
+ console.error('isSupportEffect failed, error:' + JSON.stringify(err));
+ return;
+ }
+ console.log('The effectId is ' + (state ? 'supported' : 'unsupported'));
+ if (state) {
+ try {
+ vibrator.startVibration({ // 使用startVibration需要添加ohos.permission.VIBRATE权限
+ type: 'preset',
+ effectId: 'haptic.clock.timer',
+ count: 1,
+ }, {
+ usage: 'unknown'
+ }, (error) => {
+ if(error) {
+ console.error('haptic.clock.timer vibrator error:' + JSON.stringify(error));
+ } else {
+ console.log('haptic.clock.timer vibrator success');
+ }
+ });
+ } catch (error) {
+ console.error('Exception in, error:' + JSON.stringify(error));
+ }
+ }
+ })
+} catch (error) {
+ console.error('Exception in, error:' + JSON.stringify(error));
+}
+```
+