快應用 傳感器

2020-08-10 14:33 更新

接口聲明

{"name": "system.sensor"}

導入模塊

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

接口定義

sensor.subscribeAccelerometer(OBJECT)

監(jiān)聽重力感應數(shù)據(jù)。如果多次調用,僅最后一次調用生效

參數(shù):

參數(shù)名 類型 必填 說明
reserved 1050+ Boolean 是否持久化訂閱,默認為 false。機制:設置為 true,頁面跳轉,不會自動取消訂閱,需手動取消訂閱
interval 1060+ String 監(jiān)聽加速度數(shù)據(jù)回調函數(shù)的執(zhí)行頻率,默認normal
callback Function 重力感應數(shù)據(jù)變化后會回調此函數(shù)。
interval 的合法值:
說明
game 適用于更新游戲的回調頻率,在 20ms/次 左右
ui 適用于更新 UI 的回調頻率,在 60ms/次 左右
normal 普通的回調頻率,在 200ms/次 左右
callback返回值:
參數(shù)名 類型 說明
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()

取消監(jiān)聽重力感應數(shù)據(jù)

參數(shù):

示例:

sensor.unsubscribeAccelerometer()

sensor.subscribeCompass(OBJECT)

監(jiān)聽羅盤數(shù)據(jù)。如果多次調用,僅最后一次調用生效

參數(shù):

參數(shù)名 類型 必填 說明
reserved 1050+ Boolean 是否持久化訂閱,默認為 false。機制:設置為 true,頁面跳轉,不會自動取消訂閱,需手動取消訂閱
callback Function 羅盤數(shù)據(jù)變化后會回調此函數(shù)。
callback返回值:
參數(shù)名 類型 說明
direction Number 面對的方向度數(shù)

示例:

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

sensor.unsubscribeCompass()

取消監(jiān)聽羅盤數(shù)據(jù)

參數(shù):

示例:

sensor.unsubscribeCompass()

sensor.subscribeProximity(OBJECT)1000+

監(jiān)聽距離感應數(shù)據(jù)。如果多次調用,僅最后一次調用生效。

參數(shù):

參數(shù)名 類型 必填 說明
reserved 1050+ Boolean 是否持久化訂閱,默認為 false。機制:設置為 true,頁面跳轉,不會自動取消訂閱,需手動取消訂閱
callback Function 距離感應數(shù)據(jù)變化后會回調此函數(shù)。
callback返回值:
參數(shù)名 類型 說明
distance Number 手機距離,單位為cm。

示例:

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

sensor.unsubscribeProximity()1000+

取消監(jiān)聽距離感應數(shù)據(jù)。

參數(shù):

示例:

sensor.unsubscribeProximity()

sensor.subscribeLight(OBJECT)1000+

監(jiān)聽光線感應數(shù)據(jù)。如果多次調用,僅最后一次調用生效。

參數(shù):

參數(shù)名 類型 必填 說明
reserved 1050+ Boolean 是否持久化訂閱,默認為 false。機制:設置為 true,頁面跳轉,不會自動取消訂閱,需手動取消訂閱
callback Function 光線感應數(shù)據(jù)變化后會回調此函數(shù)。

sensor.subscribeStepCounter(OBJECT)

監(jiān)聽計步傳感器數(shù)據(jù)。如果多次調用,僅最后一次調用生效。

參數(shù):

參數(shù)名 類型 必填 說明
reserved 1050+ Boolean 是否持久化訂閱,默認為 false。機制:設置為 true,頁面跳轉,不會自動取消訂閱,需手動取消訂閱
callback Function 計步傳感器數(shù)據(jù)變化后會回調此函數(shù)。
fail Function 失敗回調
callback 返回值:
參數(shù)名 類型 說明
steps Number 計步傳感器當前累計記錄的步數(shù)。每次手機重啟,這個值就會從 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+

取消監(jiān)聽計步傳感器數(shù)據(jù)。

參數(shù):

示例:

sensor.unsubscribeStepCounter()

后臺運行限制

無限制。 后臺運行詳細用法參見后臺運行 腳本。callback返回值:
參數(shù)名 類型 說明
intensity Number 光線強度,單位為lux

示例:

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

sensor.unsubscribeLight()1000+

取消監(jiān)聽光線感應數(shù)據(jù)。

參數(shù):

示例:

sensor.unsubscribeLight()

后臺運行限制

無限制。 后臺運行詳細用法參見 后臺運行腳本。


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號