# 传感器 sensor

# 接口声明

{ "name": "system.sensor" }
1

# 导入模块

import sensor from '@system.sensor'const sensor = require('@system.sensor')
1

# 接口定义

# sensor.subscribeAccelerometer(OBJECT)

监听重力感应数据。如果多次调用,仅最后一次调用生效

# 参数:

参数名 类型 必填 说明
reserved Boolean 是否持久化订阅,默认为 false。机制:设置为 true,页面跳转,不会自动取消订阅,需手动取消订阅
interval String 监听加速度数据回调函数的执行频率,默认normal
callback Function 重力感应数据变化后会回调此函数。

interval 的合法值:

说明
game 适用于更新游戏的回调频率,在 20ms/次 左右
ui 适用于更新 UI 的回调频率,在 60ms/次 左右
normal 普通的回调频率,在 200ms/次 左右
# callback 返回值:
参数名 类型 说明
x Integer x 轴加速度
y Integer y 轴加速度
z Integer z 轴加速度

# 示例:

sensor.subscribeAccelerometer({
  callback: function(ret) {
    console.log(`handling callback, x = ${ret.x}, y = ${ret.y}, z = ${ret.z}`)
  }
})
1
2
3
4
5

# sensor.unsubscribeAccelerometer()

取消监听重力感应数据

# 参数:

# 示例:

sensor.unsubscribeAccelerometer()
1

# sensor.subscribeCompass(OBJECT)

监听罗盘数据。如果多次调用,仅最后一次调用生效

# 参数:

参数名 类型 必填 说明
reserved Boolean 是否持久化订阅,默认为 false。机制:设置为 true,页面跳转,不会自动取消订阅,需手动取消订阅
callback Function 罗盘数据变化后会回调此函数。
# callback 返回值:
参数名 类型 说明
direction Number 表示设备的y轴和地球磁场北极之间的角度,当面朝北,角度为0;朝南角度为π;朝东角度π/2;朝西角度-π/2
accuracy Number 精度
说明
3 高精度
2 中等精度
1 低精度
-1 不可信,传感器失去连接
0 不可信,原因未知

# 示例:

sensor.subscribeCompass({
  callback: function(ret) {
    console.log(`handling callback, direction = ${ret.direction}`)
  }
})
1
2
3
4
5

# sensor.unsubscribeCompass()

取消监听罗盘数据

# 参数:

# 示例:

sensor.unsubscribeCompass()
1

# sensor.subscribeStepCounter(OBJECT)

监听计步传感器数据。如果多次调用,仅最后一次调用生效。

# 参数:

参数名 类型 必填 说明
reserved Boolean 是否持久化订阅,默认为 false。机制:设置为 true,页面跳转,不会自动取消订阅,需手动取消订阅
callback Function 计步传感器数据变化后会回调此函数。
fail Function 失败回调
# callback 返回值:
参数名 类型 说明
steps Number 计步传感器当前累计记录的步数。每次手机重启,这个值就会从 0 开始重新计算。
# fail 返回错误代码
错误码 说明
1000 当前设备不支持计步传感器

# 示例:

sensor.subscribeStepCounter({
  callback: function(ret) {
    console.log(`handling callback, steps = ${ret.steps}`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})
1
2
3
4
5
6
7
8

# sensor.unsubscribeStepCounter()

取消监听计步传感器数据。

# 参数:

# 示例:

sensor.unsubscribeStepCounter()
1