传感器

更新时间:

接口声明

{ "name": "blueos.hardware.sensor.sensor" }
复制代码

导入模块

import sensor from '@blueos.hardware.sensor.sensor'const sensor = require('@blueos.hardware.sensor.sensor')
复制代码

接口定义

sensor.subscribeAccelerometer(OBJECT)

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

参数:

参数名 类型 必填 说明
interval String 监听加速度数据回调函数的执行频率,默认normal
callback Function 重力感应数据变化后会回调此函数。
fail Function 失败回调
callback 返回值:
参数名 类型 说明
x Integer x 轴加速度
y Integer y 轴加速度
z Integer z 轴加速度

interval 的合法值:

说明
game 适用于更新游戏的回调频率,在 20ms/次 左右
ui 适用于更新 UI 的回调频率,在 60ms/次 左右
normal 普通的回调频率,在 200ms/次 左右
fail 返回错误代码
错误码 说明
1000 当前设备不支持重力感应传感器

示例:

sensor.subscribeAccelerometer({
  callback: function (ret) {
    console.log(`handling callback, x = ${ret.x}, y = ${ret.y}, z = ${ret.z}`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  },
})
复制代码

sensor.unsubscribeAccelerometer()

取消监听重力感应数据

参数:

示例:

sensor.unsubscribeAccelerometer()
复制代码

sensor.subscribeCompass(OBJECT)

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

参数:

参数名 类型 必填 说明
callback Function 罗盘数据变化后会回调此函数。
fail Function 失败回调
callback 返回值:
参数名 类型 说明
direction Number 表示设备的 y 轴和地球磁场北极之间的角度,当面朝北,角度为 0;朝南角度为 π;朝东角度 π/2;朝西角度-π/2
accuracy Number 精度
fail 返回错误代码
错误码 说明
1000 当前设备不支持罗盘传感器
说明
3 高精度
2 中等精度
1 低精度
-1 不可信,传感器失去连接
0 不可信,原因未知

示例:

sensor.subscribeCompass({
  callback: function (ret) {
    console.log(`handling callback, direction = ${ret.direction}`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  },
})
复制代码

sensor.unsubscribeCompass()

取消监听罗盘数据

参数:

示例:

sensor.unsubscribeCompass()
复制代码

sensor.subscribeStepCounter(OBJECT)

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

开发者需要在 manifest.json 里面配置权限:

{
  "permissions": [{ "name": "watch.permission.STEP_COUNTER" }]
}
复制代码

参数:

参数名 类型 必填 说明
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}`)
  },
})
复制代码

sensor.unsubscribeStepCounter()

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

参数:

示例:

sensor.unsubscribeStepCounter()
复制代码

sensor.subscribeOnBodyState(OBJECT)

监听设备佩戴状态传感器数据。如果多次调用,仅最后一次调用生效。

参数:

参数名 类型 必填 说明
callback Function 穿戴状态改变后的回调函数。
fail Function 接口调用失败的回调函数。
callback 返回值:
参数名 类型 说明
value boolean 是否已佩戴。
fail 返回错误代码
错误码 说明
1000 当前设备不支持佩戴状态传感器
sensor.subscribeOnBodyState({
  callback: function (ret) {
    console.log('get on-body state value:' + ret.value)
  },
  fail: function (data, code) {
    console.log('Subscription failed. Code: ' + code + '; Data: ' + data)
  },
})
复制代码

sensor.unsubscribeOnBodyState()

取消监听设备佩戴状态。

参数:

示例:

sensor.unsubscribeOnBodyState()
复制代码

sensor.getOnBodyState(OBJECT)

获取设备佩戴状态。

参数:

参数名 类型 必填 说明
success Function 接口调用成功的回调函数。
fail Function 接口调用失败的回调函数。
complete Function 接口调用结束的回调函数。
callback 返回值:
参数名 类型 说明
value boolean 是否已佩戴。
fail 返回错误代码
错误码 说明
1000 当前设备不支持佩戴状态传感器
sensor.getOnBodyState({
  success: function (ret) {
    console.log('on body state: ' + ret.value)
  },
  fail: function (data, code) {
    console.log('Subscription failed. Code: ' + code + '; Data: ' + data)
  },
})
复制代码

sensor.subscribeGyroscope(OBJECT)

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

参数:

参数名 类型 必填 说明
callback Function 陀螺仪传感器数据改变后的回调函数。
fail Function 接口调用失败的回调函数。
callback 返回值:
参数名 类型 说明
x Number x 轴坐标
y Number y 轴坐标
z Number z 轴坐标
fail 返回错误代码
错误码 说明
1000 当前设备不支持陀螺仪传感器

示例:

sensor.subscribeGyroscope({
  callback: function (ret) {
    console.log(`handling callback, x = ${ret.x}, y = ${ret.y}, z = ${ret.z}`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  },
})
复制代码

sensor.unsubscribeGyroscope()

取消监听陀螺仪数据。

参数:

示例:

sensor.unsubscribeGyroscope()
复制代码

sensor.subscribeBarometer(OBJECT)

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

参数:

参数名 类型 必填 说明
callback Function 气压传感器数据改变后的回调函数。
fail Function 接口调用失败的回调函数。
callback 返回值:
参数名 类型 说明
pressure Number 气压值,单位:帕斯卡。
fail 返回错误代码
错误码 说明
1000 当前设备不支持气压传感器
sensor.subscribeBarometer({
  callback: function (ret) {
    console.log('get data value:' + ret.pressure)
  },
  fail: function (data, code) {
    console.log('Subscription failed. Code: ' + code + '; Data: ' + data)
  },
})
复制代码

sensor.unsubscribeBarometer()

取消监听气压传感器。

参数:

示例:

sensor.unsubscribeBarometer()
复制代码

sensor.subscribeWristLift(OBJECT)

监听抬腕。如果多次调用,仅最后一次调用生效。

参数:

参数名 类型 必填 说明
callback Function 抬腕后的回调函数。
fail Function 接口调用失败的回调函数。
callback 返回值:

fail 返回错误代码
错误码 说明
1000 当前设备不支持
sensor.subscribeWristLift({
  callback: function () {
    console.log('wrist lift')
  },
  fail: function (data, code) {
    console.log('Subscription failed. Code: ' + code + '; Data: ' + data)
  },
})
复制代码

sensor.unsubscribeWristLift()

取消监听监听抬腕。

参数:

示例:

sensor.unsubscribeWristLift()
复制代码

sensor.subscribeContinuousWristTurn(OBJECT)

监听连续转腕。如果多次调用,仅最后一次调用生效。

参数:

参数名 类型 必填 说明
callback Function 连续转腕变后的回调函数。
fail Function 接口调用失败的回调函数。
callback 返回值:

fail 返回错误代码
错误码 说明
1000 当前设备不支持
sensor.subscribeContinuousWristTurn({
  callback: function () {
    console.log('continuous wrist turn')
  },
  fail: function (data, code) {
    console.log('Subscription failed. Code: ' + code + '; Data: ' + data)
  },
})
复制代码

sensor.unsubscribeContinuousWristTurn()

取消监听连续转腕。

参数:

示例:

sensor.unsubscribeContinuousWristTurn()
复制代码
上一篇
屏幕管理
下一篇
电量信息
以上内容对您是否有帮助?
  • 毫无帮助
  • 帮助不大
  • 一般
  • 很好
  • 非常好
意见反馈