- 传感器
- 接口声明
- 导入模块
- 接口定义
- sensor.subscribeAccelerometer(OBJECT)
- sensor.unsubscribeAccelerometer()
- sensor.subscribeCompass(OBJECT)
- sensor.unsubscribeCompass()
- sensor.subscribeProximity(OBJECT)1000+
- sensor.unsubscribeProximity()1000+
- sensor.subscribeLight(OBJECT)1000+
- sensor.unsubscribeLight()1000+
- sensor.subscribeStepCounter(OBJECT)1050+
- sensor.unsubscribeStepCounter()1050+
- 后台运行限制
传感器
接口声明
{ "name": "system.sensor" }
导入模块
import sensor from '@system.sensor' 或 const sensor = require('@system.sensor')
接口定义
sensor.subscribeAccelerometer(OBJECT)
监听重力感应数据。如果多次调用,仅最后一次调用生效
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
reserved 1050+ | Boolean | 否 | 是否持久化订阅,默认为false。机制:设置为true,页面跳转,不会自动取消订阅,需手动取消订阅 |
callback | Function | 是 | 重力感应数据变化后会回调此函数。 |
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}`)
}
})
sensor.unsubscribeAccelerometer()
取消监听重力感应数据
参数:
无
示例:
sensor.unsubscribeAccelerometer()
sensor.subscribeCompass(OBJECT)
监听罗盘数据。如果多次调用,仅最后一次调用生效
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
reserved 1050+ | Boolean | 否 | 是否持久化订阅,默认为false。机制:设置为true,页面跳转,不会自动取消订阅,需手动取消订阅 |
callback | Function | 是 | 罗盘数据变化后会回调此函数。 |
callback 返回值:
参数名 | 类型 | 说明 |
---|---|---|
direction | Number | 面对的方向度数 |
示例:
sensor.subscribeCompass({
callback: function(ret) {
console.log(`handling callback, direction = ${ret.direction}`)
}
})
sensor.unsubscribeCompass()
取消监听罗盘数据
参数:
无
示例:
sensor.unsubscribeCompass()
sensor.subscribeProximity(OBJECT)1000+
监听距离感应数据。如果多次调用,仅最后一次调用生效。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
reserved 1050+ | Boolean | 否 | 是否持久化订阅,默认为false。机制:设置为true,页面跳转,不会自动取消订阅,需手动取消订阅 |
callback | Function | 是 | 距离感应数据变化后会回调此函数。 |
callback 返回值:
参数名 | 类型 | 说明 |
---|---|---|
distance | Number | 手机距离,单位为 cm。 |
示例:
sensor.subscribeProximity({
callback: function(ret) {
console.log(`handling callback, distance = ${ret.distance}`)
}
})
sensor.unsubscribeProximity()1000+
取消监听距离感应数据。
参数:
无
示例:
sensor.unsubscribeProximity()
sensor.subscribeLight(OBJECT)1000+
监听光线感应数据。如果多次调用,仅最后一次调用生效。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
reserved 1050+ | Boolean | 否 | 是否持久化订阅,默认为false。机制:设置为true,页面跳转,不会自动取消订阅,需手动取消订阅 |
callback | Function | 是 | 光线感应数据变化后会回调此函数。 |
callback 返回值:
参数名 | 类型 | 说明 |
---|---|---|
intensity | Number | 光线强度,单位为 lux |
示例:
sensor.subscribeLight({
callback: function(ret) {
console.log(`handling callback, intensity = ${ret.intensity}`)
}
})
sensor.unsubscribeLight()1000+
取消监听光线感应数据。
参数:
无
示例:
sensor.unsubscribeLight()
sensor.subscribeStepCounter(OBJECT)1050+
监听计步传感器数据。如果多次调用,仅最后一次调用生效。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
reserved 1050+ | Boolean | 否 | 是否持久化订阅,默认为false。机制:设置为true,页面跳转,不会自动取消订阅,需手动取消订阅 |
callback | Function | 是 | 计步传感器数据变化后会回调此函数。 |
callback 返回值:
参数名 | 类型 | 说明 |
---|---|---|
steps | Number | 计步传感器当前累计记录的步数。每次手机重启,这个值就会从0开始重新计算。 |
示例:
sensor.subscribeStepCounter({
callback: function(ret) {
console.log(`handling callback, steps = ${ret.steps}`)
}
})
sensor.unsubscribeStepCounter()1050+
取消监听计步传感器数据。
参数:
无
示例:
sensor.unsubscribeStepCounter()
后台运行限制
无限制。后台运行详细用法参见后台运行 脚本。