mobileSensor

立即使用

论坛示例


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

概述


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

模块接口

getAccelerometer


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

getAccelerometer({}, callback(res))

callback(res)

res:

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

示例代码


function getAccelerometer(){
    var mobileSensor = api.require('mobileSensor');
    mobileSensor.getAccelerometer({},function(res){
        alert(JSON.stringify(res));
    });
};

getOrientation


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

getOrientation({}, callback(res))

callback(res)

res:

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

示例代码


function getOrientation(){
    var mobileSensor = api.require('mobileSensor');
    mobileSensor.getOrientation({},function(res){
        alert(JSON.stringify(res));
    });
};

getGyroscope


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

getGyroscope({}, callback(res))

callback(res)

res:

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

示例代码


function getGyroscope(){
    var mobileSensor = api.require('mobileSensor');
    mobileSensor.getGyroscope({},function(res){
        alert(JSON.stringify(res));
    });
};

getMagneticField


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

getMagneticField({}, callback(res))

callback(res)

res:

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

示例代码


function getMagneticField(){
    var mobileSensor = api.require('mobileSensor');
    mobileSensor.getMagneticField({},function(res){
        alert(JSON.stringify(res));
    });
};

getGravity


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

getGravity({}, callback(res))

callback(res)

res:

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

示例代码


function getGravity(){
    var mobileSensor = api.require('mobileSensor');
    mobileSensor.getGravity({},function(res){
        alert(JSON.stringify(res));
    });
};

getLinearAcceleration


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

getLinearAcceleration({}, callback(res))

callback(res)

res:

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

示例代码


function getLinearAcceleration(){
    var mobileSensor = api.require('mobileSensor');
    mobileSensor.getLinearAcceleration({},function(res){
        alert(JSON.stringify(res));
    });
};

getAmbientTemperature


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

getAmbientTemperature({}, callback(res))

callback(res)

res:

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

示例代码


function getAmbientTemperature(){
    var mobileSensor = api.require('mobileSensor');
    mobileSensor.getAmbientTemperature({},function(res){
        alert(JSON.stringify(res));
    });
};

getLight


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

getLight({}, callback(res))

callback(res)

res:

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

示例代码


function getLight(){
    var mobileSensor = api.require('mobileSensor');
    mobileSensor.getLight({},function(res){
        alert(JSON.stringify(res));
    });
};

getPressure


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

getPressure({}, callback(res))

callback(res)

res:

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

示例代码


function getPressure(){
    var mobileSensor = api.require('mobileSensor');
    mobileSensor.getPressure({},function(res){
        alert(JSON.stringify(res));
    });
};

close


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

close({}, callback(res))

callback(res)

res:

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

示例代码


function sensorClose(){
    var mobileSensor = api.require('mobileSensor');
    mobileSensor.sensorClose({},function(res){
        alert(JSON.stringify(res));
    });
};

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 对象
  • 内部字段:
{
  status:true,  // 布尔值:false(失败)、true(成功)
  msg:传感器采样频率ui
}

示例代码


function getSensorDelay(){
    var mobileSensor = api.require('mobileSensor');
    mobileSensor.getSensorDelay({},function(res){
        alert(JSON.stringify(res));
    });
};

getSensorAll


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

getSensorAll({}, callback(res))

callback(res)

res:

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

示例代码


function getSensorAll(){
    var mobileSensor = api.require('mobileSensor');
    mobileSensor.getSensorAll({},function(res){
        alert(JSON.stringify(res));
    });
};

getSensorValue


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

getSensorValue({params}, callback(res))

params

type:

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

callback(res)

ret:

  • 类型:JSON 对象
  • 内部字段:

{
  status:true,  // 布尔值:false(失败)、true(成功)
  value_0:-1.8076598644256592, //传感器值第0个值
  value_1:5.301791191101074, //传感器值第1个值
  value_2:8.400056838989258, //传感器值第2个值
  type:1 //传感器类型
  msg: //status为true无返回,false返回原因
}

示例代码


function getSensorValue(type){
    var mobileSensor = api.require('mobileSensor');
    mobileSensor.getSensorValue({"type":type},function(res,err){
        alert(JSON.stringify(res));
    });
};

可用性

Android系统

可提供的1.0.0及更高版本