codecamp

快应用 传感器

接口声明

{"name": "system.sensor"}

导入模块

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

接口定义

sensor.subscribeAccelerometer(OBJECT)

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

参数:

参数名 类型 必填 说明
reserved 1050+ Boolean 是否持久化订阅,默认为 false。机制:设置为 true,页面跳转,不会自动取消订阅,需手动取消订阅
interval 1060+ 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}`)
  }
})

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 光线感应数据变化后会回调此函数。

sensor.subscribeStepCounter(OBJECT)

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

参数:

参数名 类型 必填 说明
reserved 1050+ 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}`)
  }
})

sensor.unsubscribeStepCounter()1050+

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

参数:

示例:

sensor.unsubscribeStepCounter()

后台运行限制

无限制。 后台运行详细用法参见后台运行 脚本。callback返回值:
参数名 类型 说明
intensity Number 光线强度,单位为lux

示例:

sensor.subscribeLight({
  callback: function (ret) {
    console.log(`handling callback, intensity = ${ret.intensity}`)
  }
})

sensor.unsubscribeLight()1000+

取消监听光线感应数据。

参数:

示例:

sensor.unsubscribeLight()

后台运行限制

无限制。 后台运行详细用法参见 后台运行脚本


快应用 二维码
快应用 剪贴板
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

快应用 参考手册

快应用 安全

快应用 声音音频

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }