mobileSensor

立即使用

getAccelerometer getOrientation
getGyroscope getMagneticField getGravity getLinearAcceleration getAmbientTemperature getLight
getPressure close getSensorAll getSensorValue

论坛示例


为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。

概述


mobileSensor模块,先注册传感器,后监听传感器持续返回结果。此模块能获取手机全部传感器,并获取传感器所有值。比如传感器有:方向传感器,陀螺仪传感器、磁场传感器、重力传感器、线性加速度传感器、温度传感器、光传感器、压力传感器、心率传感器等。

模块接口

getAccelerometer


手机加速度传感器,持续返回结果。

getAccelerometer({}, callback(res))

callback(res)

res:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true, // 布尔值:false(失败)、true(成功)
  3. value_0:-1.8076598644256592, //传感器值第0个值
  4. value_1:5.301791191101074, //传感器值第1个值
  5. value_2:8.400056838989258, //传感器值第2个值
  6. name:ICM20600 Accelerometer,//手机传感器英文名
  7. type:1, //传感器类型
  8. msg: //status为true无返回,false返回原因
  9. }

示例代码

  1. function getAccelerometer(){
  2. var mobileSensor = api.require('mobileSensor');
  3. mobileSensor.getAccelerometer({},function(res){
  4. alert(JSON.stringify(res));
  5. });
  6. };

getOrientation


手机方向传感器,持续返回结果。

getOrientation({}, callback(res))

callback(res)

res:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true, // 布尔值:false(失败)、true(成功)
  3. value_0:250.931640625,//传感器值第0个值
  4. value_1:-65.58541107177734, //传感器值第1个值
  5. value_2:-27.025278091430664,//传感器值第2个值
  6. name:Orientation,//手机传感器英文名
  7. type:3, //传感器类型
  8. msg: //status为true无返回,false返回原因
  9. }

示例代码

  1. function getOrientation(){
  2. var mobileSensor = api.require('mobileSensor');
  3. mobileSensor.getOrientation({},function(res){
  4. alert(JSON.stringify(res));
  5. });
  6. };

getGyroscope


手机陀螺仪传感器,持续返回结果。

getGyroscope({}, callback(res))

callback(res)

res:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true, // 布尔值:false(失败)、true(成功)
  3. value_0:-0.017486572265625,//传感器值第0个值
  4. value_1:-0.0295562744140625,//传感器值第1个值
  5. value_2:-0.01287841796875,//传感器值第2个值
  6. name:ICM20600 Gyroscope,//手机传感器英文名
  7. type:4, //传感器类型
  8. msg: //status为true无返回,false返回原因
  9. }

示例代码

  1. function getGyroscope(){
  2. var mobileSensor = api.require('mobileSensor');
  3. mobileSensor.getGyroscope({},function(res){
  4. alert(JSON.stringify(res));
  5. });
  6. };

getMagneticField


手机磁场传感器,持续返回结果。

getMagneticField({}, callback(res))

callback(res)

res:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true, // 布尔值:false(失败)、true(成功)
  3. value_0:55.60760498046875,//传感器值第0个值
  4. value_1:-15.23895263671875,//传感器值第1个值
  5. value_2:-19.64263916015625,//传感器值第2个值
  6. name:AK09918 Magnetometer,//手机传感器英文名
  7. type:2, //传感器类型
  8. msg: //status为true无返回,false返回原因
  9. }

示例代码

  1. function getMagneticField(){
  2. var mobileSensor = api.require('mobileSensor');
  3. mobileSensor.getMagneticField({},function(res){
  4. alert(JSON.stringify(res));
  5. });
  6. };

getGravity


手机重力传感器,持续返回结果。

getGravity({}, callback(res))

callback(res)

res:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true, // 布尔值:false(失败)、true(成功)
  3. value_0:-2.5395684242248535,//传感器值第0个值
  4. value_1:7.731274604797363,//传感器值第1个值
  5. value_2:5.472511291503906,//传感器值第2个值
  6. name:Gravity,//手机传感器英文名
  7. type:9, //传感器类型
  8. msg: //status为true无返回,false返回原因
  9. }

示例代码

  1. function getGravity(){
  2. var mobileSensor = api.require('mobileSensor');
  3. mobileSensor.getGravity({},function(res){
  4. alert(JSON.stringify(res));
  5. });
  6. };

getLinearAcceleration


手机线性加速度传感器,持续返回结果。

getLinearAcceleration({}, callback(res))

callback(res)

res:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true, // 布尔值:false(失败)、true(成功)
  3. value_0:-0.01116037368774414,//传感器值第0个值
  4. value_1:0.02962207794189453,//传感器值第1个值
  5. value_2:-0.0058879852294921875,//传感器值第2个值
  6. name:Linear Acceleration,//手机传感器英文名
  7. type:10 , //传感器类型
  8. msg: //status为true无返回,false返回原因
  9. }

示例代码

  1. function getLinearAcceleration(){
  2. var mobileSensor = api.require('mobileSensor');
  3. mobileSensor.getLinearAcceleration({},function(res){
  4. alert(JSON.stringify(res));
  5. });
  6. };

getAmbientTemperature


手机温度传感器,持续返回结果。

getAmbientTemperature({}, callback(res))

callback(res)

res:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true, // 布尔值:false(失败)、true(成功)
  3. value_0:250.931640625,//传感器值第0个值
  4. ...
  5. name:,//手机传感器英文名
  6. type: , //传感器类型
  7. msg: //status为true无返回,false返回原因
  8. }

示例代码

  1. function getAmbientTemperature(){
  2. var mobileSensor = api.require('mobileSensor');
  3. mobileSensor.getAmbientTemperature({},function(res){
  4. alert(JSON.stringify(res));
  5. });
  6. };

getLight


手机光传感器,持续返回结果。

getLight({}, callback(res))

callback(res)

res:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true, // 布尔值:false(失败)、true(成功)
  3. alue_0:55,//传感器值第0个值
  4. value_1:30148248,//传感器值第1个值
  5. value_2:54985256,//传感器值第2个值
  6. name:TMD3702 PROX_ALS,//手机传感器英文名
  7. type:5 , //传感器类型
  8. msg: //status为true无返回,false返回原因
  9. }

示例代码

  1. function getLight(){
  2. var mobileSensor = api.require('mobileSensor');
  3. mobileSensor.getLight({},function(res){
  4. alert(JSON.stringify(res));
  5. });
  6. };

getPressure


手机压力传感器,持续返回结果。

getPressure({}, callback(res))

callback(res)

res:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true, // 布尔值:false(失败)、true(成功)
  3. value_0:250.931640625,//传感器值第0个值
  4. ...
  5. name:,//手机传感器英文名
  6. type: , //传感器类型
  7. msg: //status为true无返回,false返回原因
  8. }

示例代码

  1. function getPressure(){
  2. var mobileSensor = api.require('mobileSensor');
  3. mobileSensor.getPressure({},function(res){
  4. alert(JSON.stringify(res));
  5. });
  6. };

close


手机传感器使用关闭,停止持续返回结果。

close({}, callback(res))

callback(res)

res:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true // 布尔值:false(失败)、true(成功)
  3. }

示例代码

  1. function sensorClose(){
  2. var mobileSensor = api.require('mobileSensor');
  3. mobileSensor.sensorClose({},function(res){
  4. alert(JSON.stringify(res));
  5. });
  6. };

getSensorDelay


设置手机传感器采用频率,注意需要在调用传感器方法之前调用。

getSensorDelay({params}, callback(res))

params

type:

  • 类型:字符串
  • 描述:(必选项)取值范围参fastest、game、normal、ui。默认是ui。
  • fastest 对应 SensorManager.SENSOR_DELAY_FASTEST:最快,延迟最小。
  • game 对应 SensorManager.SENSOR_DELAY_GAME:适合游戏的频率。
  • normal 对应 SensorManager.SENSOR_DELAY_NORMAL:正常频率。
  • ui 对应 SensorManager.SENSOR_DELAY_UI:适合普通用户界面UI变化的频率。

callback(res)

res:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true, // 布尔值:false(失败)、true(成功)
  3. msg:传感器采样频率ui
  4. }

示例代码

  1. function getSensorDelay(){
  2. var mobileSensor = api.require('mobileSensor');
  3. mobileSensor.getSensorDelay({},function(res){
  4. alert(JSON.stringify(res));
  5. });
  6. };

getSensorAll


获取手机所有传感器名称和类型。

getSensorAll({}, callback(res))

callback(res)

res:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true, // 布尔值:false(失败)、true(成功)
  3. list:[
  4. {"name":"ICM20600 Accelerometer","type":1},//加速度传感器
  5. {"name":"ICM20600 Accelerometer Uncalibrated -Wakeup","type":35},
  6. {"name":"AK09918 Magnetometer","type":2},//磁场传感器
  7. {"name":"AK09918 Magnetometer Uncalibrated","type":14},
  8. {"name":"ICM20600 Gyroscope","type":4},//陀螺仪传感器
  9. {"name":"ICM20600 Gyroscope Uncalibrated","type":16},
  10. {"name":"TMD3702 PROX_ALS","type":8},
  11. {"name":"TMD3702 PROX_ALS","type":5},
  12. {"name":"Gravity","type":9}, //重力传感器
  13. {"name":"Linear Acceleration","type":10},//线性加速度传感器
  14. {"name":"Rotation Vector","type":11},
  15. {"name":"Step Counter","type":19},
  16. {"name":"Significant Motion Detector","type":17},
  17. {"name":"Game Rotation Vector","type":15},
  18. {"name":"GeoMagnetic Rotation Vector","type":20},
  19. {"name":"Orientation","type":3},//方向传感器
  20. {"name":"Android Stationary Detector","type":29},
  21. {"name":"Android Motion Detector","type":30},
  22. ...
  23. ]
  24. }

示例代码

  1. function getSensorAll(){
  2. var mobileSensor = api.require('mobileSensor');
  3. mobileSensor.getSensorAll({},function(res){
  4. alert(JSON.stringify(res));
  5. });
  6. };

getSensorValue


手机任何一个传感器值,持续返回结果。

getSensorValue({params}, callback(res))

params

type:

  • 类型:整数
  • 描述:(必选项)取值范围参考getSensorAll方法返回type。

callback(res)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true, // 布尔值:false(失败)、true(成功)
  3. value_0:-1.8076598644256592, //传感器值第0个值
  4. value_1:5.301791191101074, //传感器值第1个值
  5. value_2:8.400056838989258, //传感器值第2个值
  6. type:1 //传感器类型
  7. msg: //status为true无返回,false返回原因
  8. }

示例代码

  1. function getSensorValue(type){
  2. var mobileSensor = api.require('mobileSensor');
  3. mobileSensor.getSensorValue({"type":type},function(res,err){
  4. alert(JSON.stringify(res));
  5. });
  6. };

可用性

Android系统

可提供的1.0.0及更高版本