在android中同时使用两个不同的传感器数据

时间:2014-12-20 06:21:53

标签: android android-service android-sensors

我试图制作一个基于传感器的音频配置文件管理器,它从ACCELEROMETER&然后,LIGHT传感器根据条件确定条件并切换轮廓。我能够使用单个传感器,但无法使用两个。这是我的代码,

@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();
    }
}

我的代码有什么问题吗?我非常需要帮助。你的帮助会很明显。 TNX。

0 个答案:

没有答案