mobileSensor
getAccelerometer getOrientation
getGyroscope getMagneticField getGravity getLinearAcceleration getAmbientTemperature getLight
getPressure close getSensorAll getSensorValue
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。
概述
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及更高版本