提交 585bcf2a 编写于 作者: L lixiangpeng5

arkTs check

Signed-off-by: Nlixiangpeng5 <lixiangpeng5@huawei.com>
Change-Id: If5d9c15b1c88ef42c8233af0b9a080584534f01a
上级 a6985df5
...@@ -25,13 +25,14 @@ ...@@ -25,13 +25,14 @@
1. 导入模块。 1. 导入模块。
```ts ```ts
import sensor from "@ohos.sensor"; import sensor from '@ohos.sensor';
import { BusinessError } from '@ohos.base';
``` ```
2. 查询设备支持的所有传感器的参数。 2. 查询设备支持的所有传感器的参数。
```ts ```ts
sensor.getSensorList(function (error, data) { sensor.getSensorList((error: BusinessError, data: Array<sensor.Sensor>) => {
if (error) { if (error) {
console.info('getSensorList failed'); console.info('getSensorList failed');
} else { } else {
...@@ -54,19 +55,19 @@ ...@@ -54,19 +55,19 @@
- 通过on()接口,实现对传感器的持续监听,传感器上报周期interval设置为100000000纳秒。 - 通过on()接口,实现对传感器的持续监听,传感器上报周期interval设置为100000000纳秒。
```ts ```ts
sensor.on(sensor.SensorId.ACCELEROMETER, function (data) { sensor.on(sensor.SensorId.ACCELEROMETER, (data: sensor.AccelerometerResponse) => {
console.info("Succeeded in obtaining data. x: " + data.x + " y: " + data.y + " z: " + data.z); console.info("Succeeded in obtaining data. x: " + data.x + " y: " + data.y + " z: " + data.z);
}, {'interval': 100000000}); }, { interval: 100000000 });
``` ```
![输入图片说明](figures/002.png) ![输入图片说明](figures/002.png)
- 通过once()接口,实现对传感器的一次监听。 - 通过once()接口,实现对传感器的一次监听。
```ts ```ts
sensor.once(sensor.SensorId.ACCELEROMETER, function (data) { sensor.once(sensor.SensorId.ACCELEROMETER, (data: sensor.AccelerometerResponse) => {
console.info("Succeeded in obtaining data. x: " + data.x + " y: " + data.y + " z: " + data.z); console.info("Succeeded in obtaining data. x: " + data.x + " y: " + data.y + " z: " + data.z);
}); });
``` ```
![输入图片说明](figures/003.png) ![输入图片说明](figures/003.png)
......
...@@ -112,15 +112,17 @@ Json文件共包含2个属性。 ...@@ -112,15 +112,17 @@ Json文件共包含2个属性。
```ts ```ts
import vibrator from '@ohos.vibrator'; import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';
try { try {
vibrator.startVibration({ // 使用startVibration需要添加ohos.permission.VIBRATE权限 // 使用startVibration需要添加ohos.permission.VIBRATE权限
vibrator.startVibration({
type: 'time', type: 'time',
duration: 1000, duration: 1000,
}, { }, {
id: 0, id: 0,
usage: 'alarm' usage: 'alarm'
}, (error) => { }, (error: BusinessError) => {
if (error) { if (error) {
console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
return; return;
...@@ -128,7 +130,8 @@ try { ...@@ -128,7 +130,8 @@ try {
console.info('Succeed in starting vibration.'); console.info('Succeed in starting vibration.');
}); });
} catch (err) { } catch (err) {
console.error(`An unexpected error occurred. Code: ${err.code}, message: ${err.message}`); let e: BusinessError = err as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
``` ```
...@@ -136,10 +139,11 @@ try { ...@@ -136,10 +139,11 @@ try {
```ts ```ts
import vibrator from '@ohos.vibrator'; import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';
try { try {
// 按照VIBRATOR_STOP_MODE_TIME模式停止振动, 使用stopVibration需要添加ohos.permission.VIBRATE权限 // 按照VIBRATOR_STOP_MODE_TIME模式停止振动, 使用stopVibration需要添加ohos.permission.VIBRATE权限
vibrator.stopVibration(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_TIME, function (error) { vibrator.stopVibration(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_TIME, (error: BusinessError) => {
if (error) { if (error) {
console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`);
return; return;
...@@ -147,7 +151,8 @@ try { ...@@ -147,7 +151,8 @@ try {
console.info('Succeeded in stopping vibration.'); console.info('Succeeded in stopping vibration.');
}) })
} catch (err) { } catch (err) {
console.error(`An unexpected error occurred. Code: ${err.code}, message: ${err.message}`); let e: BusinessError = err as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
``` ```
...@@ -155,7 +160,8 @@ try { ...@@ -155,7 +160,8 @@ try {
```ts ```ts
import vibrator from '@ohos.vibrator'; import vibrator from '@ohos.vibrator';
// 使用startVibration、stopVibration需要添加ohos.permission.VIBRATE权限 import { BusinessError } from '@ohos.base';
try { try {
vibrator.startVibration({ vibrator.startVibration({
type: 'time', type: 'time',
...@@ -163,7 +169,7 @@ try { ...@@ -163,7 +169,7 @@ try {
}, { }, {
id: 0, id: 0,
usage: 'alarm' usage: 'alarm'
}, (error) => { }, (error: BusinessError) => {
if (error) { if (error) {
console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
return; return;
...@@ -171,7 +177,7 @@ try { ...@@ -171,7 +177,7 @@ try {
console.info('Succeed in starting vibration'); console.info('Succeed in starting vibration');
}); });
// 停止所有类型的马达振动 // 停止所有类型的马达振动
vibrator.stopVibration(function (error) { vibrator.stopVibration((error: BusinessError) => {
if (error) { if (error) {
console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`);
return; return;
...@@ -179,7 +185,8 @@ try { ...@@ -179,7 +185,8 @@ try {
console.info('Succeed in stopping vibration'); console.info('Succeed in stopping vibration');
}) })
} catch (error) { } catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`); let e: BusinessError = error as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
``` ```
...@@ -187,10 +194,11 @@ try { ...@@ -187,10 +194,11 @@ try {
```ts ```ts
import vibrator from '@ohos.vibrator'; import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';
try { try {
// 查询是否支持'haptic.clock.timer' // 查询是否支持'haptic.clock.timer'
vibrator.isSupportEffect('haptic.clock.timer', function (err, state) { vibrator.isSupportEffect('haptic.clock.timer', (err: BusinessError, state: boolean) => {
if (err) { if (err) {
console.error(`Failed to query effect. Code: ${err.code}, message: ${err.message}`); console.error(`Failed to query effect. Code: ${err.code}, message: ${err.message}`);
return; return;
...@@ -198,13 +206,14 @@ try { ...@@ -198,13 +206,14 @@ try {
console.info('Succeed in querying effect'); console.info('Succeed in querying effect');
if (state) { if (state) {
try { try {
vibrator.startVibration({ // 使用startVibration需要添加ohos.permission.VIBRATE权限 // 使用startVibration需要添加ohos.permission.VIBRATE权限
vibrator.startVibration({
type: 'preset', type: 'preset',
effectId: 'haptic.clock.timer', effectId: 'haptic.clock.timer',
count: 1, count: 1,
}, { }, {
usage: 'unknown' usage: 'unknown'
}, (error) => { }, (error: BusinessError) => {
if (error) { if (error) {
console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
} else { } else {
...@@ -212,12 +221,14 @@ try { ...@@ -212,12 +221,14 @@ try {
} }
}); });
} catch (error) { } catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`); let e: BusinessError = error as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
} }
}) })
} catch (error) { } catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`); let e: BusinessError = error as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
``` ```
...@@ -225,20 +236,22 @@ try { ...@@ -225,20 +236,22 @@ try {
```ts ```ts
import vibrator from '@ohos.vibrator'; import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';
import resourceManager from '@ohos.resourceManager';
// 获取振动文件资源描述符 // 获取振动文件资源描述符
async function getRawfileFd(fileName) { async function getRawfileFd(fileName: string): Promise<resourceManager.RawFileDescriptor> {
let rawFd = await globalThis.getContext().resourceManager.getRawFd(fileName); let rawFd = await getContext().resourceManager.getRawFd(fileName);
return rawFd; return rawFd;
} }
// 关闭振动文件资源描述符 // 关闭振动文件资源描述符
async function closeRawfileFd(fileName) { async function closeRawfileFd(fileName: string): Promise<void> {
await globalThis.getContext().resourceManager.closeRawFd(fileName) await getContext().resourceManager.closeRawFd(fileName)
} }
// 播放自定义振动,使用startVibration、stopVibration需要添加ohos.permission.VIBRATE权限 // 播放自定义振动,使用startVibration、stopVibration需要添加ohos.permission.VIBRATE权限
async function playCustomHaptic(fileName) { async function playCustomHaptic(fileName: string): Promise<void> {
try { try {
let rawFd = await getRawfileFd(fileName); let rawFd = await getRawfileFd(fileName);
vibrator.startVibration({ vibrator.startVibration({
...@@ -248,10 +261,10 @@ async function playCustomHaptic(fileName) { ...@@ -248,10 +261,10 @@ async function playCustomHaptic(fileName) {
usage: "alarm" usage: "alarm"
}).then(() => { }).then(() => {
console.info('Succeed in starting vibration'); console.info('Succeed in starting vibration');
}, (error) => { }, (error: BusinessError) => {
console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
}); });
vibrator.stopVibration(function (error) { vibrator.stopVibration((error: BusinessError) => {
if (error) { if (error) {
console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`);
return; return;
...@@ -260,7 +273,8 @@ async function playCustomHaptic(fileName) { ...@@ -260,7 +273,8 @@ async function playCustomHaptic(fileName) {
}) })
await closeRawfileFd(fileName); await closeRawfileFd(fileName);
} catch (error) { } catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`); let e: BusinessError = error as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
} }
``` ```
......
...@@ -38,17 +38,21 @@ import sensor from '@system.sensor'; ...@@ -38,17 +38,21 @@ import sensor from '@system.sensor';
**示例:** **示例:**
```ts ```ts
sensor.subscribeAccelerometer({ import sensor from '@system.sensor';
import { AccelerometerResponse, subscribeAccelerometerOptions } from '@system.sensor';
let accelerometerOptions: subscribeAccelerometerOptions = {
interval: 'normal', interval: 'normal',
success: function (ret) { success: (ret: AccelerometerResponse) => {
console.info('Succeeded in subscribing. X-axis data: ' + ret.x); console.info('Succeeded in subscribing. X-axis data: ' + ret.x);
console.info('Succeeded in subscribing. Y-axis data: ' + ret.y); console.info('Succeeded in subscribing. Y-axis data: ' + ret.y);
console.info('Succeeded in subscribing. Z-axis data: ' + ret.z); console.info('Succeeded in subscribing. Z-axis data: ' + ret.z);
}, },
fail: function (data, code) { fail: (data: string, code: number) => {
console.error(`Failed to subscription. Code: ${code}, data: ${data}`); console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
}, },
}); };
sensor.subscribeAccelerometer(accelerometerOptions);
``` ```
> **说明:** > **说明:**
...@@ -87,14 +91,18 @@ sensor.unsubscribeAccelerometer(); ...@@ -87,14 +91,18 @@ sensor.unsubscribeAccelerometer();
**示例:** **示例:**
```ts ```ts
sensor.subscribeCompass({ import sensor from '@system.sensor';
success: function (ret) { import { CompassResponse, SubscribeCompassOptions } from '@system.sensor';
let subscribeCompassOptions: SubscribeCompassOptions = {
success: (ret: CompassResponse) => {
console.info('Succeeded in subscribing. Get data direction:' + ret.direction); console.info('Succeeded in subscribing. Get data direction:' + ret.direction);
}, },
fail: function (data, code) { fail: (data: string, code: number) => {
console.error(`Failed to subscription. Code: ${code}, data: ${data}`); console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
}, },
}); };
sensor.subscribeCompass(subscribeCompassOptions);
``` ```
> **说明:** > **说明:**
...@@ -131,15 +139,18 @@ sensor.unsubscribeCompass(); ...@@ -131,15 +139,18 @@ sensor.unsubscribeCompass();
**示例:** **示例:**
```ts ```ts
sensor.subscribeProximity({ import sensor from '@system.sensor';
success: function (ret) { import { ProximityResponse, SubscribeProximityOptions } from '@system.sensor';
let subscribeProximityOptions: SubscribeProximityOptions = {
success: (ret: ProximityResponse) => {
console.info('Succeeded in subscribing. Get data distance:' + ret.distance); console.info('Succeeded in subscribing. Get data distance:' + ret.distance);
}, },
fail: function (data, code) { fail: (data: string, code: number) => {
console.error(`Failed to subscription. Code: ${code}, data: ${data}`); console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
}, },
}); };
sensor.subscribeProximity(subscribeProximityOptions);
``` ```
> **说明:** > **说明:**
...@@ -176,14 +187,18 @@ sensor.unsubscribeProximity(); ...@@ -176,14 +187,18 @@ sensor.unsubscribeProximity();
**示例:** **示例:**
```ts ```ts
sensor.subscribeLight({ import sensor from '@system.sensor';
success: function (ret) { import { LightResponse, SubscribeLightOptions } from '@system.sensor';
let subscribeLightOptions: SubscribeLightOptions = {
success: (ret: LightResponse) => {
console.info('Succeeded in subscribing. Get data intensity:' + ret.intensity); console.info('Succeeded in subscribing. Get data intensity:' + ret.intensity);
}, },
fail: function (data, code) { fail: (data: string, code: number) => {
console.error(`Failed to subscription. Code: ${code}, data: ${data}`); console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
}, },
}); };
sensor.subscribeLight(subscribeLightOptions);
``` ```
> **说明:** > **说明:**
...@@ -222,14 +237,18 @@ sensor.unsubscribeLight(); ...@@ -222,14 +237,18 @@ sensor.unsubscribeLight();
**示例:** **示例:**
```ts ```ts
sensor.subscribeStepCounter({ import sensor from '@system.sensor';
success: function (ret) { import { StepCounterResponse, SubscribeStepCounterOptions } from '@system.sensor';
let subscribeStepCounterOptions: SubscribeStepCounterOptions = {
success: (ret: StepCounterResponse) => {
console.info('Succeeded in subscribing. Get step value:' + ret.steps); console.info('Succeeded in subscribing. Get step value:' + ret.steps);
}, },
fail: function (data, code) { fail: (data: string, code: number) => {
console.error(`Failed to subscription. Code: ${code}, data: ${data}`); console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
}, },
}); };
sensor.subscribeStepCounter(subscribeStepCounterOptions);
``` ```
> **说明:** > **说明:**
...@@ -269,14 +288,18 @@ subscribeBarometer(options: SubscribeBarometerOptions): void ...@@ -269,14 +288,18 @@ subscribeBarometer(options: SubscribeBarometerOptions): void
**示例:** **示例:**
```ts ```ts
sensor.subscribeBarometer({ import sensor from '@system.sensor';
success: function (ret) { import { BarometerResponse, SubscribeBarometerOptions } from '@system.sensor';
let subscribeBarometerOptions: SubscribeBarometerOptions = {
success: (ret: BarometerResponse) => {
console.info('Succeeded in subscribing. Get data value:' + ret.pressure); console.info('Succeeded in subscribing. Get data value:' + ret.pressure);
}, },
fail: function (data, code) { fail: (data: string, code: number) => {
console.error(`Failed to subscription. Code: ${code}, data: ${data}`); console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
}, },
}); };
sensor.subscribeBarometer(subscribeBarometerOptions);
``` ```
> **说明:** > **说明:**
...@@ -317,14 +340,18 @@ sensor.unsubscribeBarometer(); ...@@ -317,14 +340,18 @@ sensor.unsubscribeBarometer();
**示例:** **示例:**
```ts ```ts
sensor.subscribeHeartRate({ import sensor from '@system.sensor';
success: function (ret) { import { HeartRateResponse, SubscribeHeartRateOptions } from '@system.sensor';
let subscribeHeartRateOptions: SubscribeHeartRateOptions = {
success: (ret: HeartRateResponse) => {
console.info('Succeeded in subscribing. Get heartrate value:' + ret.heartRate); console.info('Succeeded in subscribing. Get heartrate value:' + ret.heartRate);
}, },
fail: function (data, code) { fail: (data: string, code: number) => {
console.error(`Failed to subscription. Code: ${code}, data: ${data}`); console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
}, },
}); };
sensor.subscribeHeartRate(subscribeHeartRateOptions);
``` ```
> **说明:** > **说明:**
...@@ -364,14 +391,18 @@ sensor.unsubscribeHeartRate(); ...@@ -364,14 +391,18 @@ sensor.unsubscribeHeartRate();
**示例:** **示例:**
```ts ```ts
sensor.subscribeOnBodyState({ import sensor from '@system.sensor';
success: function (ret) { import { OnBodyStateResponse, SubscribeOnBodyStateOptions } from '@system.sensor';
let subscribeOnBodyStateOptions: SubscribeOnBodyStateOptions = {
success: (ret: OnBodyStateResponse) => {
console.info('Succeeded in subscribing. Get on-body state value:' + ret.value); console.info('Succeeded in subscribing. Get on-body state value:' + ret.value);
}, },
fail: function (data, code) { fail: (data: string, code: number) => {
console.error(`Failed to subscription. Code: ${code}, data: ${data}`); console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
}, },
}); };
sensor.subscribeOnBodyState(subscribeOnBodyStateOptions);
``` ```
> **说明:** > **说明:**
...@@ -408,14 +439,18 @@ sensor.unsubscribeOnBodyState(); ...@@ -408,14 +439,18 @@ sensor.unsubscribeOnBodyState();
**示例:** **示例:**
```ts ```ts
sensor.getOnBodyState({ import sensor from '@system.sensor';
success: function (ret) { import { OnBodyStateResponse, GetOnBodyStateOptions } from '@system.sensor';
let getOnBodyStateOptions: GetOnBodyStateOptions = {
success: (ret: OnBodyStateResponse) => {
console.info('Succeeded in subscribing. On body state: ' + ret.value); console.info('Succeeded in subscribing. On body state: ' + ret.value);
}, },
fail: function (data, code) { fail: (data: string, code: number) => {
console.error(`Failed to subscription. Code: ${code}, data: ${data}`); console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
}, },
}); };
sensor.getOnBodyState(getOnBodyStateOptions);
``` ```
## sensor.subscribeDeviceOrientation<sup>6+</sup> ## sensor.subscribeDeviceOrientation<sup>6+</sup>
...@@ -437,17 +472,21 @@ sensor.getOnBodyState({ ...@@ -437,17 +472,21 @@ sensor.getOnBodyState({
**示例:** **示例:**
```ts ```ts
sensor.subscribeDeviceOrientation({ import sensor from '@system.sensor';
import { DeviceOrientationResponse, SubscribeDeviceOrientationOptions } from '@system.sensor';
let subscribeDeviceOrientationOptions: SubscribeDeviceOrientationOptions = {
interval: 'normal', interval: 'normal',
success: function (ret) { success: (ret: DeviceOrientationResponse) => {
console.info('Succeeded in subscribing. Alpha data: ' + ret.alpha); console.info('Succeeded in subscribing. Alpha data: ' + ret.alpha);
console.info('Succeeded in subscribing. Beta data: ' + ret.beta); console.info('Succeeded in subscribing. Beta data: ' + ret.beta);
console.info('Succeeded in subscribing. Gamma data: ' + ret.gamma); console.info('Succeeded in subscribing. Gamma data: ' + ret.gamma);
}, },
fail: function (data, code) { fail: (data: string, code: number) => {
console.error(`Failed to subscription. Code: ${code}, data: ${data}`); console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
} }
}); };
sensor.subscribeDeviceOrientation(subscribeDeviceOrientationOptions);
``` ```
> **说明:** > **说明:**
...@@ -488,17 +527,21 @@ sensor.unsubscribeDeviceOrientation(); ...@@ -488,17 +527,21 @@ sensor.unsubscribeDeviceOrientation();
**示例:** **示例:**
```ts ```ts
sensor.subscribeGyroscope({ import sensor from '@system.sensor';
import { GyroscopeResponse, SubscribeGyroscopeOptions } from '@system.sensor';
let subscribeGyroscopeOptions: SubscribeGyroscopeOptions = {
interval: 'normal', interval: 'normal',
success: function (ret) { success: (ret: GyroscopeResponse) => {
console.info('Succeeded in subscribing. X-axis data: ' + ret.x); console.info('Succeeded in subscribing. X-axis data: ' + ret.x);
console.info('Succeeded in subscribing. Y-axis data: ' + ret.y); console.info('Succeeded in subscribing. Y-axis data: ' + ret.y);
console.info('Succeeded in subscribing. Z-axis data: ' + ret.z); console.info('Succeeded in subscribing. Z-axis data: ' + ret.z);
}, },
fail: function (data, code) { fail: (data: string, code: number) => {
console.error(`Failed to subscription. Code: ${code}, data: ${data}`); console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
} }
}); };
sensor.subscribeGyroscope(subscribeGyroscopeOptions);
``` ```
> **说明:** > **说明:**
......
...@@ -37,18 +37,22 @@ import vibrator from '@system.vibrator'; ...@@ -37,18 +37,22 @@ import vibrator from '@system.vibrator';
**示例:** **示例:**
```ts ```ts
vibrator.vibrate({ import vibrator from '@system.vibrator';
import { VibrateOptions } from '@system.vibrator';
let vibrateOptions: VibrateOptions = {
mode: 'short', mode: 'short',
success: function() { success: () => {
console.info('Succeed in vibrating'); console.info('Succeed in vibrating');
}, },
fail: function(data, code) { fail: (data: string, code: number) => {
console.info(`Failed to vibrate. Data: ${data}, code: ${code}`); console.info(`Failed to vibrate. Data: ${data}, code: ${code}`);
}, },
complete: function() { complete: () => {
console.info('completed in vibrating'); console.info('completed in vibrating');
} }
}); };
vibrator.vibrate(vibrateOptions);
``` ```
## VibrateOptions ## VibrateOptions
......
...@@ -43,6 +43,7 @@ startVibration(effect: VibrateEffect, attribute: VibrateAttribute, callback: Asy ...@@ -43,6 +43,7 @@ startVibration(effect: VibrateEffect, attribute: VibrateAttribute, callback: Asy
```ts ```ts
import vibrator from '@ohos.vibrator'; import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';
try { try {
vibrator.startVibration({ vibrator.startVibration({
...@@ -51,7 +52,7 @@ try { ...@@ -51,7 +52,7 @@ try {
}, { }, {
id: 0, id: 0,
usage: 'alarm' usage: 'alarm'
}, (error) => { }, (error: BusinessError) => {
if (error) { if (error) {
console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
return; return;
...@@ -59,7 +60,8 @@ try { ...@@ -59,7 +60,8 @@ try {
console.info('Succeed in starting vibration'); console.info('Succeed in starting vibration');
}); });
} catch (err) { } catch (err) {
console.error(`An unexpected error occurred. Code: ${err.code}, message: ${err.message}`); let e: BusinessError = err as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
``` ```
...@@ -98,6 +100,7 @@ startVibration(effect: VibrateEffect, attribute: VibrateAttribute): Promise&lt;v ...@@ -98,6 +100,7 @@ startVibration(effect: VibrateEffect, attribute: VibrateAttribute): Promise&lt;v
```ts ```ts
import vibrator from '@ohos.vibrator'; import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';
try { try {
vibrator.startVibration({ vibrator.startVibration({
...@@ -108,11 +111,12 @@ try { ...@@ -108,11 +111,12 @@ try {
usage: 'alarm' usage: 'alarm'
}).then(() => { }).then(() => {
console.info('Succeed in starting vibration'); console.info('Succeed in starting vibration');
}, (error) => { }, (error: BusinessError) => {
console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
}); });
} catch (err) { } catch (err) {
console.error(`An unexpected error occurred. Code: ${err.code}, message: ${err.message}`); let e: BusinessError = err as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
``` ```
...@@ -137,6 +141,7 @@ stopVibration(stopMode: VibratorStopMode, callback: AsyncCallback&lt;void&gt;): ...@@ -137,6 +141,7 @@ stopVibration(stopMode: VibratorStopMode, callback: AsyncCallback&lt;void&gt;):
```ts ```ts
import vibrator from '@ohos.vibrator'; import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';
try { try {
// 按照固定时长振动 // 按照固定时长振动
...@@ -146,7 +151,7 @@ try { ...@@ -146,7 +151,7 @@ try {
}, { }, {
id: 0, id: 0,
usage: 'alarm' usage: 'alarm'
}, (error) => { }, (error: BusinessError) => {
if (error) { if (error) {
console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
return; return;
...@@ -154,12 +159,13 @@ try { ...@@ -154,12 +159,13 @@ try {
console.info('Succeed in starting vibration'); console.info('Succeed in starting vibration');
}); });
} catch (err) { } catch (err) {
console.error(`An unexpected error occurred. Code: ${err.code}, message: ${err.message}`); let e: BusinessError = err as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
try { try {
// 按照VIBRATOR_STOP_MODE_TIME模式停止振动 // 按照VIBRATOR_STOP_MODE_TIME模式停止振动
vibrator.stopVibration(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_TIME, function (error) { vibrator.stopVibration(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_TIME, (error: BusinessError) => {
if (error) { if (error) {
console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`);
return; return;
...@@ -167,7 +173,8 @@ try { ...@@ -167,7 +173,8 @@ try {
console.info('Succeed in stopping vibration'); console.info('Succeed in stopping vibration');
}) })
} catch (err) { } catch (err) {
console.error(`An unexpected error occurred. Code: ${err.code}, message: ${err.message}`); let e: BusinessError = err as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
``` ```
...@@ -197,33 +204,36 @@ stopVibration(stopMode: VibratorStopMode): Promise&lt;void&gt; ...@@ -197,33 +204,36 @@ stopVibration(stopMode: VibratorStopMode): Promise&lt;void&gt;
```ts ```ts
import vibrator from '@ohos.vibrator'; import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';
try { try {
// 按照固定时长振动 // 按照固定时长振动
vibrator.startVibration({ vibrator.startVibration({
type: 'time', type: 'time',
duration: 1000 duration: 1000,
}, { }, {
id: 0, id: 0,
usage: 'alarm' usage: 'alarm'
}).then(() => { }).then(() => {
console.info('Succeed in starting vibration'); console.info('Succeed in starting vibration');
}, (error) => { }, (error: BusinessError) => {
console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
}); });
} catch (err) { } catch (err) {
console.error(`An unexpected error occurred. Code: ${err.code}, message: ${err.message}`); let e: BusinessError = err as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
try { try {
// 按照VIBRATOR_STOP_MODE_TIME模式停止振动 // 按照VIBRATOR_STOP_MODE_TIME模式停止振动
vibrator.stopVibration(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_PRESET).then(() => { vibrator.stopVibration(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_PRESET).then(() => {
console.info('Succeed in stopping vibration'); console.info('Succeed in stopping vibration');
}, (error) => { }, (error: BusinessError) => {
console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`);
}); });
} catch (err) { } catch (err) {
console.error(`An unexpected error occurred. Code: ${err.code}, message: ${err.message}`); let e: BusinessError = err as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
``` ```
...@@ -247,6 +257,7 @@ stopVibration(callback: AsyncCallback&lt;void&gt;): void ...@@ -247,6 +257,7 @@ stopVibration(callback: AsyncCallback&lt;void&gt;): void
```ts ```ts
import vibrator from '@ohos.vibrator'; import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';
try { try {
// 按照固定时长振动 // 按照固定时长振动
...@@ -256,7 +267,7 @@ try { ...@@ -256,7 +267,7 @@ try {
}, { }, {
id: 0, id: 0,
usage: 'alarm' usage: 'alarm'
}, (error) => { }, (error: BusinessError) => {
if (error) { if (error) {
console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
return; return;
...@@ -264,12 +275,13 @@ try { ...@@ -264,12 +275,13 @@ try {
console.info('Succeed in starting vibration'); console.info('Succeed in starting vibration');
}); });
} catch (error) { } catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`); let e: BusinessError = error as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
try { try {
// 停止所有模式的马达振动 // 停止所有模式的马达振动
vibrator.stopVibration(function (error) { vibrator.stopVibration((error: BusinessError) => {
if (error) { if (error) {
console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`);
return; return;
...@@ -277,7 +289,8 @@ try { ...@@ -277,7 +289,8 @@ try {
console.info('Succeed in stopping vibration'); console.info('Succeed in stopping vibration');
}) })
} catch (error) { } catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`); let e: BusinessError = error as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
``` ```
...@@ -301,33 +314,36 @@ stopVibration(): Promise&lt;void&gt; ...@@ -301,33 +314,36 @@ stopVibration(): Promise&lt;void&gt;
```ts ```ts
import vibrator from '@ohos.vibrator'; import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';
try { try {
// 按照固定时长振动 // 按照固定时长振动
vibrator.startVibration({ vibrator.startVibration({
type: 'time', type: 'time',
duration: 1000 duration: 1000,
}, { }, {
id: 0, id: 0,
usage: 'alarm' usage: 'alarm'
}).then(() => { }).then(() => {
console.info('Succeed in starting vibration'); console.info('Succeed in starting vibration');
}, (error) => { }, (error: BusinessError) => {
console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
}); });
} catch (error) { } catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`); let e: BusinessError = error as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
try { try {
// 停止所有模式的马达振动 // 停止所有模式的马达振动
vibrator.stopVibration().then(() => { vibrator.stopVibration().then(() => {
console.info('Succeed in stopping vibration'); console.info('Succeed in stopping vibration');
}, (error) => { }, (error: BusinessError) => {
console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to stop vibration. Code: ${error.code}, message: ${error.message}`);
}); });
} catch (error) { } catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`); let e: BusinessError = error as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
``` ```
...@@ -350,10 +366,11 @@ isSupportEffect(effectId: string, callback: AsyncCallback&lt;boolean&gt;): void ...@@ -350,10 +366,11 @@ isSupportEffect(effectId: string, callback: AsyncCallback&lt;boolean&gt;): void
```ts ```ts
import vibrator from '@ohos.vibrator'; import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';
try { try {
// 查询是否支持'haptic.clock.timer' // 查询是否支持'haptic.clock.timer'
vibrator.isSupportEffect('haptic.clock.timer', function (err, state) { vibrator.isSupportEffect('haptic.clock.timer', (err: BusinessError, state: boolean) => {
if (err) { if (err) {
console.error(`Failed to query effect. Code: ${err.code}, message: ${err.message}`); console.error(`Failed to query effect. Code: ${err.code}, message: ${err.message}`);
return; return;
...@@ -361,13 +378,14 @@ try { ...@@ -361,13 +378,14 @@ try {
console.info('Succeed in querying effect'); console.info('Succeed in querying effect');
if (state) { if (state) {
try { try {
vibrator.startVibration({ // 使用startVibration需要添加ohos.permission.VIBRATE权限 // 使用startVibration需要添加ohos.permission.VIBRATE权限
vibrator.startVibration({
type: 'preset', type: 'preset',
effectId: 'haptic.clock.timer', effectId: 'haptic.clock.timer',
count: 1, count: 1,
}, { }, {
usage: 'unknown' usage: 'unknown'
}, (error) => { }, (error: BusinessError) => {
if (error) { if (error) {
console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
} else { } else {
...@@ -375,12 +393,14 @@ try { ...@@ -375,12 +393,14 @@ try {
} }
}); });
} catch (error) { } catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`); let e: BusinessError = error as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
} }
}) })
} catch (error) { } catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`); let e: BusinessError = error as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
``` ```
...@@ -408,10 +428,11 @@ isSupportEffect(effectId: string): Promise&lt;boolean&gt; ...@@ -408,10 +428,11 @@ isSupportEffect(effectId: string): Promise&lt;boolean&gt;
```ts ```ts
import vibrator from '@ohos.vibrator'; import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';
try { try {
// 查询是否支持'haptic.clock.timer' // 查询是否支持'haptic.clock.timer'
vibrator.isSupportEffect('haptic.clock.timer').then((state) => { vibrator.isSupportEffect('haptic.clock.timer').then((state: boolean) => {
console.info(`The query result is ${state}`); console.info(`The query result is ${state}`);
if (state) { if (state) {
try { try {
...@@ -423,18 +444,20 @@ try { ...@@ -423,18 +444,20 @@ try {
usage: 'unknown' usage: 'unknown'
}).then(() => { }).then(() => {
console.info('Succeed in starting vibration'); console.info('Succeed in starting vibration');
}).catch((error) => { }).catch((error: BusinessError) => {
console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to start vibration. Code: ${error.code}, message: ${error.message}`);
}); });
} catch (error) { } catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`); let e: BusinessError = error as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
} }
}, (error) => { }, (error: BusinessError) => {
console.error(`Failed to query effect. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to query effect. Code: ${error.code}, message: ${error.message}`);
}) })
} catch (error) { } catch (error) {
console.error(`An unexpected error occurred. Code: ${error.code}, message: ${error.message}`); let e: BusinessError = error as BusinessError;
console.error(`An unexpected error occurred. Code: ${e.code}, message: ${e.message}`);
} }
``` ```
...@@ -574,9 +597,12 @@ vibrate(duration: number): Promise&lt;void&gt; ...@@ -574,9 +597,12 @@ vibrate(duration: number): Promise&lt;void&gt;
**示例:** **示例:**
```ts ```ts
import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';
vibrator.vibrate(1000).then(() => { vibrator.vibrate(1000).then(() => {
console.info('Succeed in vibrating'); console.info('Succeed in vibrating');
}, (error) => { }, (error: BusinessError) => {
console.error(`Failed to vibrate. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to vibrate. Code: ${error.code}, message: ${error.message}`);
}); });
``` ```
...@@ -603,7 +629,10 @@ vibrate(duration: number, callback?: AsyncCallback&lt;void&gt;): void ...@@ -603,7 +629,10 @@ vibrate(duration: number, callback?: AsyncCallback&lt;void&gt;): void
**示例:** **示例:**
```ts ```ts
vibrator.vibrate(1000, function (error) { import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';
vibrator.vibrate(1000, (error: BusinessError) => {
if (error) { if (error) {
console.error(`Failed to vibrate. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to vibrate. Code: ${error.code}, message: ${error.message}`);
} else { } else {
...@@ -640,9 +669,12 @@ vibrate(effectId: EffectId): Promise&lt;void&gt; ...@@ -640,9 +669,12 @@ vibrate(effectId: EffectId): Promise&lt;void&gt;
**示例:** **示例:**
```ts ```ts
import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';
vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER).then(() => { vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER).then(() => {
console.info('Succeed in vibrating'); console.info('Succeed in vibrating');
}, (error) => { }, (error: BusinessError) => {
console.error(`Failed to vibrate. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to vibrate. Code: ${error.code}, message: ${error.message}`);
}); });
``` ```
...@@ -670,7 +702,10 @@ vibrate(effectId: EffectId, callback?: AsyncCallback&lt;void&gt;): void ...@@ -670,7 +702,10 @@ vibrate(effectId: EffectId, callback?: AsyncCallback&lt;void&gt;): void
**示例:** **示例:**
```ts ```ts
vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER, function (error) { import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';
vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER, (error: BusinessError) => {
if (error) { if (error) {
console.error(`Failed to vibrate. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to vibrate. Code: ${error.code}, message: ${error.message}`);
} else { } else {
...@@ -706,8 +741,11 @@ stop(stopMode: VibratorStopMode): Promise&lt;void&gt; ...@@ -706,8 +741,11 @@ stop(stopMode: VibratorStopMode): Promise&lt;void&gt;
**示例:** **示例:**
```ts ```ts
import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';
// 按照effectId类型启动振动 // 按照effectId类型启动振动
vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER, function (error) { vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER, (error: BusinessError) => {
if (error) { if (error) {
console.error(`Failed to vibrate. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to vibrate. Code: ${error.code}, message: ${error.message}`);
} else { } else {
...@@ -717,7 +755,7 @@ vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER, function (error) { ...@@ -717,7 +755,7 @@ vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER, function (error) {
// 使用VIBRATOR_STOP_MODE_PRESET模式停止振动 // 使用VIBRATOR_STOP_MODE_PRESET模式停止振动
vibrator.stop(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_PRESET).then(() => { vibrator.stop(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_PRESET).then(() => {
console.info('Succeed in stopping'); console.info('Succeed in stopping');
}, (error) => { }, (error: BusinessError) => {
console.error(`Failed to stop. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to stop. Code: ${error.code}, message: ${error.message}`);
}); });
``` ```
...@@ -745,8 +783,11 @@ stop(stopMode: VibratorStopMode, callback?: AsyncCallback&lt;void&gt;): void ...@@ -745,8 +783,11 @@ stop(stopMode: VibratorStopMode, callback?: AsyncCallback&lt;void&gt;): void
**示例:** **示例:**
```ts ```ts
import vibrator from '@ohos.vibrator';
import { BusinessError } from '@ohos.base';
// 按照effectId类型启动振动 // 按照effectId类型启动振动
vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER, function (error) { vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER, (error: BusinessError) => {
if (error) { if (error) {
console.error(`Failed to vibrate. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to vibrate. Code: ${error.code}, message: ${error.message}`);
} else { } else {
...@@ -754,11 +795,11 @@ vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER, function (error) { ...@@ -754,11 +795,11 @@ vibrator.vibrate(vibrator.EffectId.EFFECT_CLOCK_TIMER, function (error) {
} }
}) })
// 使用VIBRATOR_STOP_MODE_PRESET模式停止振动 // 使用VIBRATOR_STOP_MODE_PRESET模式停止振动
vibrator.stop(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_PRESET, function (error) { vibrator.stop(vibrator.VibratorStopMode.VIBRATOR_STOP_MODE_PRESET, (error: BusinessError) => {
if (error) { if (error) {
console.error(`Failed to stop. Code: ${error.code}, message: ${error.message}`); console.error(`Failed to stop. Code: ${error.code}, message: ${error.message}`);
} else { } else {
onsole.info('Succeed in stopping'); console.info('Succeed in stopping');
} }
}) })
``` ```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册