在android中同时处理两个不同的传感器数据
我正在尝试制作一个基于传感器的音频配置文件管理器,它从加速度计和光传感器获取值,然后确定条件并根据条件切换配置文件。我可以使用单个传感器,但无法使用两个传感器。这是我的密码在android中同时处理两个不同的传感器数据,android,android-service,android-sensors,Android,Android Service,Android Sensors,我正在尝试制作一个基于传感器的音频配置文件管理器,它从加速度计和光传感器获取值,然后确定条件并根据条件切换配置文件。我可以使用单个传感器,但无法使用两个传感器。这是我的密码 @Override public void onSensorChanged(SensorEvent event) { boolean isOn = false; boolean isFlipped = false; boolean isFront = false; boolean isOnPo
@Override
public void onSensorChanged(SensorEvent event) {
boolean isOn = false;
boolean isFlipped = false;
boolean isFront = false;
boolean isOnPocket = false;
Sensor mySensor = event.sensor;
long curTime = System.currentTimeMillis();
if (mySensor.getType() == Sensor.TYPE_LIGHT) {
float light = event.values[0];
if ((curTime - lastUpdate) > 100) {
lastUpdate = curTime;
if (light<=100) {
isOn = true;
}else{
isOn = false;
}
}
}
if (mySensor.getType() == Sensor.TYPE_ACCELEROMETER) {
float x = event.values[0];
float y = event.values[1];
float z = event.values[2];
if ((curTime - lastUpdate) > 100) {
lastUpdate = curTime;
if (x<=0 && y<=0 && z<=-10) {
isFlipped=true;
}else if (x<=0 && y<=0 && z<=+9){
isFront=true;
}else if (x<=2 && y<=-7 && z<=-1){
isOnPocket=true;
}
}
}
if(isFlipped && isOn){
myAudManHolder.silent();
}else if(isFront && !isOn){
myAudManHolder.ring();
}else if(isOnPocket && isOn){
myAudManHolder.vibrate();
}
}
@覆盖
传感器更改时的公共无效(传感器事件){
布尔值=假;
布尔值isFlipped=false;
布尔值isFront=false;
布尔值isOnPocket=false;
传感器mySensor=event.Sensor;
long curTime=System.currentTimeMillis();
if(mySensor.getType()==Sensor.TYPE_LIGHT){
浮动灯=事件值[0];
如果((curTime-lastUpdate)>100){
lastUpdate=curTime;
如果(灯100){
lastUpdate=curTime;
如果(x)你在mySensor.getType()中得到了什么?我不知道如何检查它。调试并检查你在mySensor.getType()中得到的值。很抱歉打扰你,但我是android新手。你能告诉我如何调试吗