js-apis-system-sensor.md 27.5 KB
Newer Older
1
# @system.sensor (传感器)
Z
zengyawen 已提交
2

C
cff-gite 已提交
3
sensor模块提供订阅传感器数据基本能力,主要包含查询传感器的列表、订阅/取消传感器的数据、执行控制命令等。
C
cff-gite 已提交
4

C
cff-gite 已提交
5
根据传感器的用途,可以将传感器分为六大类:运动类传感器、环境类传感器、方向类传感器、光线类传感器、健康类传感器、其他类传感器(如霍尔传感器),每一大类传感器包含不同类型的传感器,某种类型的传感器可能是单一的物理传感器,也可能是由多个物理传感器复合而成。
C
cff-gite 已提交
6

Z
zengyawen 已提交
7

zyjhandsome's avatar
zyjhandsome 已提交
8
> **说明:**
Z
zengyawen 已提交
9 10
>
> - 从API Version 8开始,该接口不再维护,推荐使用新接口[`@ohos.sensor`](js-apis-sensor.md)。
C
cff-gite 已提交
11
> - 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zengyawen 已提交
12 13 14 15 16 17 18 19 20 21 22 23
> - 该功能使用需要对应硬件支持,仅支持真机调试。


## 导入模块


```
import sensor from '@system.sensor';
```

## sensor.subscribeAccelerometer

C
cff-gite 已提交
24
 subscribeAccelerometer(options: subscribeAccelerometerOptions): void
Z
zengyawen 已提交
25 26 27

观察加速度数据变化。针对同一个应用,多次点击调用时,会覆盖前面的调用效果,即仅最后一次调用生效。

L
lixiangpeng5 已提交
28
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
29 30 31

**需要权限**:ohos.permission.ACCELEROMETER,该权限为系统权限

Z
zengyawen 已提交
32 33
**参数:**

C
cff-gite 已提交
34 35
| 参数名  | 类型                                                         | 必填 | 说明                                       |
| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------ |
C
cff-gite 已提交
36
| options | [subscribeAccelerometerOptions](#subscribeaccelerometeroptions) | 是   | 监听加速度传感器数据的回调函数的执行频率。 |
Z
zengyawen 已提交
37 38 39

**示例:**

L
li-yaoyao777 已提交
40
```ts
Z
zengyawen 已提交
41 42
sensor.subscribeAccelerometer({
  interval: 'normal',
L
li-yaoyao777 已提交
43 44 45 46
  success: function (ret) {
    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. Z-axis data: ' + ret.z);
Z
zengyawen 已提交
47
  },
L
li-yaoyao777 已提交
48 49
  fail: function (data, code) {
    console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
Z
zengyawen 已提交
50 51 52 53
  },
});
```

zyjhandsome's avatar
zyjhandsome 已提交
54
> **说明:**
Z
zengyawen 已提交
55 56 57 58 59 60 61 62
> 建议在页面销毁时,即onDestory回调中,取消数据订阅,避免不必要的性能开销。

## sensor.unsubscribeAccelerometer

unsubscribeAccelerometer(): void

取消订阅加速度数据。

L
lixiangpeng5 已提交
63
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
64 65 66

**需要权限**:ohos.permission.ACCELEROMETER,该权限为系统权限

Z
zengyawen 已提交
67 68
**示例:**

L
li-yaoyao777 已提交
69
```ts
Z
zengyawen 已提交
70 71 72 73 74
sensor.unsubscribeAccelerometer();
```

## sensor.subscribeCompass

C
cff-gite 已提交
75
 subscribeCompass(options: SubscribeCompassOptions): void
Z
zengyawen 已提交
76 77 78

订阅罗盘数据变化。针对同一个应用,多次点击调用时,会覆盖前面的调用效果,即仅最后一次调用生效。

L
lixiangpeng5 已提交
79
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
80

Z
zengyawen 已提交
81 82
**参数:**

C
cff-gite 已提交
83 84
| 参数名  | 类型                                                | 必填 | 说明                             |
| ------- | --------------------------------------------------- | ---- | -------------------------------- |
C
cff-gite 已提交
85
| options | [SubscribeCompassOptions](#subscribecompassoptions) | 是   | 当罗盘传感器数据发生变化时调用。 |
Z
zengyawen 已提交
86 87 88

**示例:**

L
li-yaoyao777 已提交
89
```ts
Z
zengyawen 已提交
90
sensor.subscribeCompass({
L
li-yaoyao777 已提交
91 92
  success: function (ret) {
    console.info('Succeeded in subscribing. Get data direction:' + ret.direction);
Z
zengyawen 已提交
93
  },
L
li-yaoyao777 已提交
94 95
  fail: function (data, code) {
    console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
Z
zengyawen 已提交
96 97 98 99
  },
});
```

zyjhandsome's avatar
zyjhandsome 已提交
100
> **说明:**
Z
zengyawen 已提交
101 102 103 104 105 106 107 108
> 建议在页面销毁时,即onDestory回调中,取消数据订阅,避免不必要的性能开销。

## sensor.unsubscribeCompass

unsubscribeCompass(): void

取消订阅罗盘。

L
lixiangpeng5 已提交
109
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
110

Z
zengyawen 已提交
111 112
**示例:**

L
li-yaoyao777 已提交
113
```ts
Z
zengyawen 已提交
114 115 116 117 118
sensor.unsubscribeCompass();
```

## sensor.subscribeProximity

C
cff-gite 已提交
119
 subscribeProximity(options: SubscribeProximityOptions): void
Z
zengyawen 已提交
120 121 122

订阅距离感应数据变化。针对同一个应用,多次点击调用时,会覆盖前面的调用效果,即仅最后一次调用生效。

L
lixiangpeng5 已提交
123
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
124

Z
zengyawen 已提交
125 126
**参数:**

C
cff-gite 已提交
127 128
| 参数名  | 类型                                                    | 必填 | 说明                             |
| ------- | ------------------------------------------------------- | ---- | -------------------------------- |
C
cff-gite 已提交
129
| options | [SubscribeProximityOptions](#subscribeproximityoptions) | 是   | 当距离传感器数据发生变化时调用。 |
Z
zengyawen 已提交
130 131 132

**示例:**

L
li-yaoyao777 已提交
133
```ts
Z
zengyawen 已提交
134
sensor.subscribeProximity({
L
li-yaoyao777 已提交
135 136
  success: function (ret) {
    console.info('Succeeded in subscribing. Get data distance:' + ret.distance);
Z
zengyawen 已提交
137
  },
L
li-yaoyao777 已提交
138 139 140
  fail: function (data, code) {
    console.error(`Failed to subscription. Code: ${code}, data: ${data}`);

Z
zengyawen 已提交
141 142 143 144
  },
});
```

zyjhandsome's avatar
zyjhandsome 已提交
145
> **说明:**
Z
zengyawen 已提交
146 147 148 149 150 151 152 153
> 建议在页面销毁时,即onDestory回调中,取消数据订阅,避免不必要的性能开销。

## sensor.unsubscribeProximity

unsubscribeProximity(): void

取消订阅距离感应。

L
lixiangpeng5 已提交
154
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
155

Z
zengyawen 已提交
156 157
**示例:**

L
li-yaoyao777 已提交
158
```ts
Z
zengyawen 已提交
159 160 161 162 163
sensor.unsubscribeProximity();
```

## sensor.subscribeLight

C
cff-gite 已提交
164
 subscribeLight(options: SubscribeLightOptions): void
Z
zengyawen 已提交
165 166 167

订阅环境光线感应数据变化。再次调用时,会覆盖前一次调用效果,即仅最后一次调用生效。

L
lixiangpeng5 已提交
168
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
169

Z
zengyawen 已提交
170 171
**参数:**

C
cff-gite 已提交
172 173
| 参数名  | 类型                                            | 必填 | 说明                               |
| ------- | ----------------------------------------------- | ---- | ---------------------------------- |
C
cff-gite 已提交
174
| options | [SubscribeLightOptions](#subscribelightoptions) | 是   | 当环境光传感器数据发生变化时调用。 |
Z
zengyawen 已提交
175 176 177

**示例:**

L
li-yaoyao777 已提交
178
```ts
Z
zengyawen 已提交
179
sensor.subscribeLight({
L
li-yaoyao777 已提交
180 181
  success: function (ret) {
    console.info('Succeeded in subscribing. Get data intensity:' + ret.intensity);
Z
zengyawen 已提交
182
  },
L
li-yaoyao777 已提交
183 184
  fail: function (data, code) {
    console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
Z
zengyawen 已提交
185 186 187 188
  },
});
```

zyjhandsome's avatar
zyjhandsome 已提交
189
> **说明:**
Z
zengyawen 已提交
190 191 192 193 194 195 196 197
> 建议在页面销毁时,即onDestory回调中,取消数据订阅,避免不必要的性能开销。

## sensor.unsubscribeLight

unsubscribeLight(): void

取消订阅环境光线感应。

L
lixiangpeng5 已提交
198
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
199

Z
zengyawen 已提交
200 201
**示例:**

L
li-yaoyao777 已提交
202
```ts
Z
zengyawen 已提交
203 204 205 206 207
sensor.unsubscribeLight();
```

## sensor.subscribeStepCounter

C
cff-gite 已提交
208
 subscribeStepCounter(options: SubscribeStepCounterOptions): void
Z
zengyawen 已提交
209 210 211

订阅计步传感器数据变化。针对同一个应用,多次点击调用时,会覆盖前面的调用效果,即仅最后一次调用生效。

L
lixiangpeng5 已提交
212
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
213 214 215

**需要权限**:ohos.permission.ACTIVITY_MOTION

Z
zengyawen 已提交
216 217
**参数:**

C
cff-gite 已提交
218 219
| 参数名  | 类型                                                        | 必填 | 说明                                   |
| ------- | ----------------------------------------------------------- | ---- | -------------------------------------- |
C
cff-gite 已提交
220
| options | [SubscribeStepCounterOptions](#subscribestepcounteroptions) | 是   | 当步进计数器传感器数据发生变化时调用。 |
Z
zengyawen 已提交
221 222 223

**示例:**

L
li-yaoyao777 已提交
224
```ts
Z
zengyawen 已提交
225
sensor.subscribeStepCounter({
L
li-yaoyao777 已提交
226 227
  success: function (ret) {
    console.info('Succeeded in subscribing. Get step value:' + ret.steps);
Z
zengyawen 已提交
228
  },
L
li-yaoyao777 已提交
229 230
  fail: function (data, code) {
    console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
Z
zengyawen 已提交
231 232 233 234
  },
});
```

zyjhandsome's avatar
zyjhandsome 已提交
235
> **说明:**
Z
zengyawen 已提交
236 237 238 239 240 241 242 243
> 建议在页面销毁时,即onDestory回调中,取消数据订阅,避免不必要的性能开销。

## sensor.unsubscribeStepCounter

unsubscribeStepCounter(): void

取消订阅计步传感器。

L
lixiangpeng5 已提交
244
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
245 246 247

**需要权限**:ohos.permission.ACTIVITY_MOTION

Z
zengyawen 已提交
248 249
**示例:**

L
li-yaoyao777 已提交
250
```ts
Z
zengyawen 已提交
251 252 253 254 255 256
sensor.unsubscribeStepCounter();
```


## sensor.subscribeBarometer

C
cff-gite 已提交
257
subscribeBarometer(options: SubscribeBarometerOptions): void
Z
zengyawen 已提交
258

L
li-yaoyao777 已提交
259
订阅气压计传感器数据变化。针对同一个应用,多次点击调用时,会覆盖前面的调用效果,即仅最后一次调用生效。
Z
zengyawen 已提交
260

L
lixiangpeng5 已提交
261
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
262

Z
zengyawen 已提交
263 264
**参数:**

C
cff-gite 已提交
265 266
| 参数名  | 类型                                                    | 必填 | 说明                               |
| ------- | ------------------------------------------------------- | ---- | ---------------------------------- |
C
cff-gite 已提交
267
| options | [SubscribeBarometerOptions](#subscribebarometeroptions) | 是   | 当气压计传感器数据发生变化时调用。 |
Z
zengyawen 已提交
268 269 270

**示例:**

L
li-yaoyao777 已提交
271
```ts
Z
zengyawen 已提交
272
sensor.subscribeBarometer({
L
li-yaoyao777 已提交
273 274
  success: function (ret) {
    console.info('Succeeded in subscribing. Get data value:' + ret.pressure);
Z
zengyawen 已提交
275
  },
L
li-yaoyao777 已提交
276 277
  fail: function (data, code) {
    console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
Z
zengyawen 已提交
278 279 280 281
  },
});
```

zyjhandsome's avatar
zyjhandsome 已提交
282
> **说明:**
Z
zengyawen 已提交
283 284 285 286 287 288 289
> 建议在页面销毁时,即onDestory回调中,取消数据订阅,避免不必要的性能开销。


## sensor.unsubscribeBarometer

unsubscribeBarometer(): void

L
li-yaoyao777 已提交
290
取消订阅气压计传感器。
Z
zengyawen 已提交
291

L
lixiangpeng5 已提交
292
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
293

Z
zengyawen 已提交
294 295
**示例:**

L
li-yaoyao777 已提交
296
```ts
Z
zengyawen 已提交
297 298 299 300 301 302
sensor.unsubscribeBarometer();
```


## sensor.subscribeHeartRate

C
cff-gite 已提交
303
 subscribeHeartRate(options: SubscribeHeartRateOptions): void
Z
zengyawen 已提交
304 305 306

订阅心率传感器数据变化。针对同一个应用,多次点击调用时,会覆盖前面的调用效果,即仅最后一次调用生效。

L
lixiangpeng5 已提交
307
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
308 309 310

**需要权限**:ohos.permission.READ_HEALTH_DATA

Z
zengyawen 已提交
311 312
**参数:**

C
cff-gite 已提交
313 314
| 参数名  | 类型                                                    | 必填 | 说明                             |
| ------- | ------------------------------------------------------- | ---- | -------------------------------- |
C
cff-gite 已提交
315
| options | [SubscribeHeartRateOptions](#subscribeheartrateoptions) | 是   | 当心率传感器数据发生变化时调用。 |
Z
zengyawen 已提交
316 317 318

**示例:**

L
li-yaoyao777 已提交
319
```ts
Z
zengyawen 已提交
320
sensor.subscribeHeartRate({
L
li-yaoyao777 已提交
321 322
  success: function (ret) {
    console.info('Succeeded in subscribing. Get heartrate value:' + ret.heartRate);
Z
zengyawen 已提交
323
  },
L
li-yaoyao777 已提交
324 325
  fail: function (data, code) {
    console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
Z
zengyawen 已提交
326 327 328 329
  },
});
```

zyjhandsome's avatar
zyjhandsome 已提交
330
> **说明:**
Z
zengyawen 已提交
331 332 333 334 335 336 337
> 建议在页面销毁时,即onDestory回调中,取消数据订阅,避免不必要的性能开销。


## sensor.unsubscribeHeartRate

unsubscribeHeartRate(): void

L
li-yaoyao777 已提交
338
取消订阅心率传感器。
Z
zengyawen 已提交
339

L
lixiangpeng5 已提交
340
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
341 342 343

**需要权限**:ohos.permission.READ_HEALTH_DATA

Z
zengyawen 已提交
344 345
**示例:**

L
li-yaoyao777 已提交
346
```ts
Z
zengyawen 已提交
347 348 349 350 351
sensor.unsubscribeHeartRate();
```

## sensor.subscribeOnBodyState

C
cff-gite 已提交
352
 subscribeOnBodyState(options: SubscribeOnBodyStateOptions): void
Z
zengyawen 已提交
353 354 355

订阅设备佩戴状态。针对同一个应用,多次点击调用时,会覆盖前面的调用效果,即仅最后一次调用生效。

L
lixiangpeng5 已提交
356
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
357

Z
zengyawen 已提交
358 359
**参数:**

C
cff-gite 已提交
360 361
| 参数名  | 类型                                                        | 必填 | 说明                   |
| ------- | ----------------------------------------------------------- | ---- | ---------------------- |
C
cff-gite 已提交
362
| options | [SubscribeOnBodyStateOptions](#subscribeonbodystateoptions) | 是   | 当穿着状态改变时调用。 |
Z
zengyawen 已提交
363 364 365

**示例:**

L
li-yaoyao777 已提交
366
```ts
Z
zengyawen 已提交
367
sensor.subscribeOnBodyState({
L
li-yaoyao777 已提交
368 369
  success: function (ret) {
    console.info('Succeeded in subscribing. Get on-body state value:' + ret.value);
Z
zengyawen 已提交
370
  },
L
li-yaoyao777 已提交
371 372
  fail: function (data, code) {
    console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
Z
zengyawen 已提交
373 374 375 376
  },
});
```

zyjhandsome's avatar
zyjhandsome 已提交
377
> **说明:**
Z
zengyawen 已提交
378 379 380 381 382 383 384 385
> 建议在页面销毁时,即onDestory回调中,取消数据订阅,避免不必要的性能开销。

## sensor.unsubscribeOnBodyState

unsubscribeOnBodyState(): void

取消订阅设备佩戴状态。

L
lixiangpeng5 已提交
386
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
387

Z
zengyawen 已提交
388 389
**示例:**

L
li-yaoyao777 已提交
390
```ts
Z
zengyawen 已提交
391 392 393 394 395
sensor.unsubscribeOnBodyState();
```

## sensor.getOnBodyState

C
cff-gite 已提交
396
 getOnBodyState(options: GetOnBodyStateOptions): void
Z
zengyawen 已提交
397 398 399

获取设备佩戴状态。

L
lixiangpeng5 已提交
400
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
401

Z
zengyawen 已提交
402 403
**参数:**

C
cff-gite 已提交
404 405
| 参数名  | 类型                                            | 必填 | 说明                       |
| ------- | ----------------------------------------------- | ---- | -------------------------- |
C
cff-gite 已提交
406
| options | [GetOnBodyStateOptions](#getonbodystateoptions) | 是   | 获取传感器磨损状态时调用。 |
Z
zengyawen 已提交
407 408 409

**示例:**

L
li-yaoyao777 已提交
410
```ts
Z
zengyawen 已提交
411
sensor.getOnBodyState({
L
li-yaoyao777 已提交
412 413
  success: function (ret) {
    console.info('Succeeded in subscribing. On body state: ' + ret.value);
Z
zengyawen 已提交
414
  },
L
li-yaoyao777 已提交
415 416
  fail: function (data, code) {
    console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
Z
zengyawen 已提交
417 418 419 420 421 422
  },
});
```

## sensor.subscribeDeviceOrientation<sup>6+</sup>

C
cff-gite 已提交
423
 subscribeDeviceOrientation(options: SubscribeDeviceOrientationOptions): void
Z
zengyawen 已提交
424 425 426 427 428

观察设备方向传感器数据变化。

针对同一个应用,多次点击调用时,会覆盖前面的调用效果,即仅最后一次调用生效;针对同一个方法内,不支持多次调用。

L
lixiangpeng5 已提交
429
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
430

Z
zengyawen 已提交
431 432
**参数:**

C
cff-gite 已提交
433 434
| 参数名  | 类型                                                         | 必填 | 说明                                             |
| ------- | ------------------------------------------------------------ | ---- | ------------------------------------------------ |
C
cff-gite 已提交
435
| options | [SubscribeDeviceOrientationOptions](#subscribedeviceorientationoptions) | 是   | 用于监听设备方向传感器数据的回调函数的执行频率。 |
Z
zengyawen 已提交
436 437 438

**示例:**

L
li-yaoyao777 已提交
439
```ts
Z
zengyawen 已提交
440 441
sensor.subscribeDeviceOrientation({
  interval: 'normal',
L
li-yaoyao777 已提交
442 443 444 445
  success: function (ret) {
    console.info('Succeeded in subscribing. Alpha data: ' + ret.alpha);
    console.info('Succeeded in subscribing. Beta data: ' + ret.beta);
    console.info('Succeeded in subscribing. Gamma data: ' + ret.gamma);
Z
zengyawen 已提交
446
  },
L
li-yaoyao777 已提交
447 448 449
  fail: function (data, code) {
    console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
    }
Z
zengyawen 已提交
450 451 452
});
```

zyjhandsome's avatar
zyjhandsome 已提交
453
> **说明:**
Z
zengyawen 已提交
454 455 456 457 458 459 460 461
> 建议在页面销毁时,即onDestory回调中,取消数据订阅,避免不必要的性能开销。

## sensor.unsubscribeDeviceOrientation<sup>6+</sup>

unsubscribeDeviceOrientation(): void

取消订阅设备方向传感器数据。

L
lixiangpeng5 已提交
462
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
463

Z
zengyawen 已提交
464 465
**示例:**

L
li-yaoyao777 已提交
466
```ts
Z
zengyawen 已提交
467 468 469 470 471
sensor.unsubscribeDeviceOrientation();
```

## sensor.subscribeGyroscope<sup>6+</sup>

C
cff-gite 已提交
472
 subscribeGyroscope(options: SubscribeGyroscopeOptions): void
Z
zengyawen 已提交
473

L
li-yaoyao777 已提交
474
观察陀螺仪传感器数据变化。
Z
zengyawen 已提交
475 476 477

针对同一个应用,多次点击调用时,会覆盖前面的调用效果,即仅最后一次调用生效;针对同一个方法内,不支持多次调用。

L
lixiangpeng5 已提交
478
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
479 480 481

**需要权限**:ohos.permission.GYROSCOPE,该权限为系统权限

Z
zengyawen 已提交
482 483
**参数:**

C
cff-gite 已提交
484 485
| 参数名  | 类型                                                    | 必填 | 说明                                           |
| ------- | ------------------------------------------------------- | ---- | ---------------------------------------------- |
C
cff-gite 已提交
486
| options | [SubscribeGyroscopeOptions](#subscribegyroscopeoptions) | 是   | 用于侦听陀螺仪传感器数据的回调函数的执行频率。 |
Z
zengyawen 已提交
487 488 489

**示例:**

L
li-yaoyao777 已提交
490
```ts
Z
zengyawen 已提交
491 492
sensor.subscribeGyroscope({
  interval: 'normal',
L
li-yaoyao777 已提交
493 494 495 496
  success: function (ret) {
    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. Z-axis data: ' + ret.z);
Z
zengyawen 已提交
497
  },
L
li-yaoyao777 已提交
498 499
  fail: function (data, code) {
    console.error(`Failed to subscription. Code: ${code}, data: ${data}`);
Z
zengyawen 已提交
500 501 502 503
  }
});
```

zyjhandsome's avatar
zyjhandsome 已提交
504
> **说明:**
Z
zengyawen 已提交
505 506 507 508 509 510
> 建议在页面销毁时,即onDestory回调中,取消数据订阅,避免不必要的性能开销。

## sensor.unsubscribeGyroscope<sup>6+</sup>

unsubscribeGyroscope(): void

L
li-yaoyao777 已提交
511
取消订阅陀螺仪传感器数据。
Z
zengyawen 已提交
512

L
lixiangpeng5 已提交
513
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
514 515 516

**需要权限**:ohos.permission.GYROSCOPE,该权限为系统权限

Z
zengyawen 已提交
517 518
**示例:**

L
li-yaoyao777 已提交
519
```ts
Z
zengyawen 已提交
520 521
sensor.unsubscribeGyroscope();
```
C
cff-gite 已提交
522 523 524

## subscribeAccelerometerOptions

C
cff-gite 已提交
525
用于监听加速度传感器数据的回调函数的执行频率。
C
cff-gite 已提交
526 527 528

**需要权限**:ohos.permission.ACCELEROMETER

L
lixiangpeng5 已提交
529
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
530 531 532 533

| 名称     | 类型                                            | 必填 | 说明                                                         |
| -------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
| interval | string                                          | 是   | 频率参数,加速度的回调函数执行频率。 默认为normal,可选值有: - game:极高的回调频率,20ms/次,适用于游戏。 - ui:较高的回调频率,60ms/次,适用于UI更新。 - normal:普通的回调频率,200ms/次,低功耗。 |
C
cff-gite 已提交
534
| success  | [AccelerometerResponse](#accelerometerresponse) | 是   | 感应到加速度数据变化后的回调函数。                           |
C
cff-gite 已提交
535 536 537 538 539 540 541 542
| fail     | Function                                        | 否   | 接口调用失败的回调函数。                                     |

## AccelerometerResponse 

感应到加速度数据变化后的回调函数。  

**需要权限**:ohos.permission.ACCELEROMETER

L
lixiangpeng5 已提交
543
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
544

C
cff-gite 已提交
545 546 547 548 549
| 名称 | 类型   | 必填 | 说明          |
| ---- | ------ | ---- | ------------- |
| x    | number | 是   | x轴的加速度。 |
| y    | number | 是   | y轴的加速度。 |
| z    | number | 是   | z轴的加速度。 |
C
cff-gite 已提交
550 551 552 553 554

## SubscribeCompassOptions

当罗盘传感器数据发生变化时调用。

L
lixiangpeng5 已提交
555
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
556 557 558

| 名称    | 类型                                | 必填 | 说明                           |
| ------- | ----------------------------------- | ---- | ------------------------------ |
C
cff-gite 已提交
559
| success | [CompassResponse](#compassresponse) | 是   | 罗盘数据改变后触发的回调函数。 |
C
cff-gite 已提交
560 561 562 563 564 565
| fail    | Function                            | 否   | 接口调用失败的回调函数。       |

## CompassResponse 

罗盘数据改变后触发的回调函数。

L
lixiangpeng5 已提交
566
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
567

C
cff-gite 已提交
568 569 570
| 名称      | 类型   | 必填 | 说明                 |
| --------- | ------ | ---- | -------------------- |
| direction | number | 是   | 设备面对的方向度数。 |
C
cff-gite 已提交
571 572 573 574 575

## SubscribeProximityOptions

当距离传感器数据发生变化时调用。

L
lixiangpeng5 已提交
576
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
577 578 579

| 名称    | 类型                                    | 必填 | 说明                               |
| ------- | --------------------------------------- | ---- | ---------------------------------- |
C
cff-gite 已提交
580
| success | [ProximityResponse](#proximityresponse) | 是   | 距离感应数据改变后调用的回调函数。 |
C
cff-gite 已提交
581 582 583 584 585 586
| fail    | Function                                | 否   | 接口调用失败的回调函数。           |

## ProximityResponse 

距离感应数据改变后调用的回调函数。

L
lixiangpeng5 已提交
587
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
588

C
cff-gite 已提交
589 590 591
| 名称     | 类型   | 必填 | 说明                                       |
| -------- | ------ | ---- | ------------------------------------------ |
| distance | number | 是   | 可见物体相对于设备显示屏的接近或远离状态。 |
C
cff-gite 已提交
592 593 594 595 596

## SubscribeLightOptions

当环境光传感器数据发生变化时调用。

L
lixiangpeng5 已提交
597
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
598 599 600

| 名称    | 类型                            | 必填 | 说明                           |
| ------- | ------------------------------- | ---- | ------------------------------ |
C
cff-gite 已提交
601
| success | [LightResponse](#lightresponse) | 是   | 光线感应数据改变后的回调函数。 |
C
cff-gite 已提交
602 603 604 605 606 607
| fail    | Function                        | 否   | 接口调用失败的回调函数。       |

## LightResponse 

光线感应数据改变后的回调函数。

L
lixiangpeng5 已提交
608
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
609

C
cff-gite 已提交
610 611 612
| 名称      | 类型   | 必填 | 说明                  |
| --------- | ------ | ---- | --------------------- |
| intensity | number | 是   | 光线强度,单位为lux。 |
C
cff-gite 已提交
613 614 615 616 617

## SubscribeStepCounterOptions

当步进计数器传感器数据发生变化时调用。

C
cff-gite 已提交
618 619
**需要权限**:ohos.permission.ACTIVITY_MOTION

L
lixiangpeng5 已提交
620
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
621 622 623

| 名称    | 类型                                        | 必填 | 说明                             |
| ------- | ------------------------------------------- | ---- | -------------------------------- |
C
cff-gite 已提交
624
| success | [StepCounterResponse](#stepcounterresponse) | 是   | 计步传感器数据改变后的回调函数。 |
C
cff-gite 已提交
625 626 627 628 629 630 631 632
| fail    | Function                                    | 否   | 接口调用失败的回调函数。         |

## StepCounterResponse 

计步传感器数据改变后的回调函数。

**需要权限**:ohos.permission.ACTIVITY_MOTION

L
lixiangpeng5 已提交
633
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
634

C
cff-gite 已提交
635 636 637
| 名称  | 类型   | 必填 | 说明                             |
| ----- | ------ | ---- | -------------------------------- |
| steps | number | 是   | 计步传感器重启后累计记录的步数。 |
C
cff-gite 已提交
638 639 640 641 642

## SubscribeBarometerOptions

当气压计传感器数据发生变化时调用。

L
lixiangpeng5 已提交
643
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
644 645 646

| 名称    | 类型                                    | 必填 | 说明                             |
| ------- | --------------------------------------- | ---- | -------------------------------- |
L
li-yaoyao777 已提交
647
| success | [BarometerResponse](#barometerresponse) | 是   | 气压计传感器数据改变后的回调函数。 |
C
cff-gite 已提交
648 649 650 651
| fail    | Function                                | 否   | 接口调用失败的回调函数。         |

## BarometerResponse 

L
li-yaoyao777 已提交
652
气压计传感器数据改变后的回调函数。
C
cff-gite 已提交
653

L
lixiangpeng5 已提交
654
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
655

C
cff-gite 已提交
656 657 658
| 名称     | 类型   | 必填 | 说明                   |
| -------- | ------ | ---- | ---------------------- |
| pressure | number | 是   | 气压值,单位:帕斯卡。 |
C
cff-gite 已提交
659 660 661

## SubscribeHeartRateOptions

C
cff-gite 已提交
662
当心率传感器数据发生变化时调用。
C
cff-gite 已提交
663

C
cff-gite 已提交
664 665
**需要权限**:ohos.permission.READ_HEALTH_DATA 

L
lixiangpeng5 已提交
666
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
667 668 669

| 名称    | 类型                                    | 必填 | 说明                                            |
| ------- | --------------------------------------- | ---- | ----------------------------------------------- |
C
cff-gite 已提交
670
| success | [HeartRateResponse](#heartrateresponse) | 是   | 心率传感器数据改变后的回调函数,默认频率5s/次。 |
C
cff-gite 已提交
671 672 673 674 675 676
| fail    | Function                                | 否   | 接口调用失败的回调函数。                        |

## HeartRateResponse 

心率传感器数据改变后的回调函数,默认频率5s/次。

C
cff-gite 已提交
677
**需要权限**:ohos.permission.READ_HEALTH_DATA 
C
cff-gite 已提交
678

L
lixiangpeng5 已提交
679
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
680

C
cff-gite 已提交
681 682 683
| 名称      | 类型   | 必填 | 说明     |
| --------- | ------ | ---- | -------- |
| heartRate | number | 是   | 心率值。 |
C
cff-gite 已提交
684 685 686 687 688

## SubscribeOnBodyStateOptions

当穿着状态改变时调用。

L
lixiangpeng5 已提交
689
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
690 691 692

| 名称    | 类型                                        | 必填 | 说明                       |
| ------- | ------------------------------------------- | ---- | -------------------------- |
C
cff-gite 已提交
693
| success | [OnBodyStateResponse](#onbodystateresponse) | 是   | 穿戴状态改变后的回调函数。 |
C
cff-gite 已提交
694 695 696 697
| fail    | Function                                    | 否   | 接口调用失败的回调函数。   |

## OnBodyStateResponse 

C
cff-gite 已提交
698
传感器是否磨损。
C
cff-gite 已提交
699

L
lixiangpeng5 已提交
700
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
701

C
cff-gite 已提交
702 703 704
| 名称  | 类型    | 必填 | 说明         |
| ----- | ------- | ---- | ------------ |
| value | boolean | 是   | 是否已佩戴。 |
C
cff-gite 已提交
705 706 707

## GetOnBodyStateOptions

C
cff-gite 已提交
708
 获取传感器磨损状态时调用。
C
cff-gite 已提交
709

L
lixiangpeng5 已提交
710
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
711 712 713

| 名称     | 类型                                        | 必填 | 说明                     |
| -------- | ------------------------------------------- | ---- | ------------------------ |
L
li-yaoyao777 已提交
714
| success  | [OnBodyStateResponse](#onbodystateresponse) | 是   | 接口调用成功的回调函数。 |
C
cff-gite 已提交
715 716 717 718 719
| fail     | Function                                    | 否   | 接口调用失败的回调函数。 |
| complete | Function                                    | 否   | 接口调用结束的回调函数。 |

## SubscribeDeviceOrientationOptions<sup>6+</sup>

C
cff-gite 已提交
720
用于监听设备方向传感器数据的回调函数的执行频率。
C
cff-gite 已提交
721

L
lixiangpeng5 已提交
722
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
723 724 725 726

| 名称     | 类型                                                    | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| interval | string                                                  | 是   | 频率参数,设备方向传感器的回调函数执行频率。<br/>默认为normal,可选值有:<br/>-&nbsp;game:极高的回调频率,20ms/次,适用于游戏。<br/>-&nbsp;ui:较高的回调频率,60ms/次,适用于UI更新。<br/>-&nbsp;normal:普通的回调频率,200ms/次,低功耗。 |
C
cff-gite 已提交
727
| success  | [DeviceOrientationResponse](#deviceorientationresponse) | 是   | 感应到设备方向传感器数据变化后的回调函数。                   |
C
cff-gite 已提交
728 729 730 731 732 733
| fail     | Function                                                | 否   | 接口调用失败的回调函数。                                     |

## DeviceOrientationResponse<sup>6+</sup> 

感应到设备方向传感器数据变化后的回调函数。

L
lixiangpeng5 已提交
734
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
735

C
cff-gite 已提交
736 737 738 739 740
| 名称  | 类型   | 必填 | 说明                                                         |
| ----- | ------ | ---- | ------------------------------------------------------------ |
| alpha | number | 是   | 当设备坐标&nbsp;X/Y&nbsp;和地球&nbsp;X/Y&nbsp;重合时,绕着&nbsp;Z&nbsp;轴转动的夹角为&nbsp;alpha。 |
| beta  | number | 是   | 当设备坐标&nbsp;Y/Z&nbsp;和地球&nbsp;Y/Z&nbsp;重合时,绕着&nbsp;X&nbsp;轴转动的夹角为&nbsp;beta。 |
| gamma | number | 是   | 当设备&nbsp;X/Z&nbsp;和地球&nbsp;X/Z&nbsp;重合时,绕着&nbsp;Y&nbsp;轴转动的夹角为&nbsp;gamma。 |
C
cff-gite 已提交
741 742 743

## SubscribeGyroscopeOptions<sup>6+</sup> 

C
cff-gite 已提交
744
用于侦听陀螺仪传感器数据的回调函数的执行频率。
C
cff-gite 已提交
745

C
cff-gite 已提交
746 747
**需要权限**:ohos.permission.GYROSCOPE

L
lixiangpeng5 已提交
748
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
749 750 751 752

| 名称     | 类型                                    | 必填 | 说明                                                         |
| -------- | --------------------------------------- | ---- | ------------------------------------------------------------ |
| interval | string                                  | 是   | 频率参数,陀螺仪的回调函数执行频率。<br/>默认为normal,可选值有:<br/>-&nbsp;game:极高的回调频率,20ms/次,适用于游戏。<br/>-&nbsp;ui:较高的回调频率,60ms/次,适用于UI更新。<br/>-&nbsp;normal:普通的回调频率,200ms/次,低功耗。 |
C
cff-gite 已提交
753
| success  | [GyroscopeResponse](#gyroscoperesponse) | 是   | 感应到陀螺仪数据变化后的回调函数。                           |
C
cff-gite 已提交
754 755 756 757
| fail     | Function                                | 否   | 接口调用失败的回调函数。                                     |

## GyroscopeResponse<sup>6+</sup> 

L
li-yaoyao777 已提交
758
感应到陀螺仪传感器数据变化后的回调函数。
C
cff-gite 已提交
759

C
cff-gite 已提交
760
**需要权限**:ohos.permission.GYROSCOPE
C
cff-gite 已提交
761

L
lixiangpeng5 已提交
762
**系统能力**:SystemCapability.Sensors.Sensor.Lite
C
cff-gite 已提交
763

C
cff-gite 已提交
764 765 766 767 768
| 名称 | 类型   | 必填 | 说明              |
| ---- | ------ | ---- | ----------------- |
| x    | number | 是   | x轴的旋转角速度。 |
| y    | number | 是   | y轴的旋转角速度。 |
| z    | number | 是   | z轴的旋转角速度。 |