在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新手。你能告诉我如何调试吗