Android-Lichtsensor - erkennen erhebliche Licht ändert

Ich bin neu sensor verwenden in android und jetzt ein bisschen verwirrt. Ich brauche, um einige Aktionen nur, wenn es eine signifikante Licht ändern, z.B. das Licht eingeschaltet war in einem dunklen Raum. Ich habe eine ziemlich einfache default-Implementierung so weit. Wie kann ich dem system mitteilen, ich will nur zu reagieren, um eine signifikante Licht ändern?

public class MainActivity extends Activity implements SensorEventListener {

private SensorManager mSensorManager;
private Sensor mLight;
private RelativeLayout mLayout;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
    mLight = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
    mLayout = (RelativeLayout) findViewById(R.id.mLayout);
    mLayout.setKeepScreenOn(true);
}

@Override
protected void onResume() {
    mSensorManager.registerListener(this, mLight,
            SensorManager.SENSOR_DELAY_FASTEST);
    super.onResume();
}

@Override
protected void onPause() {
    mSensorManager.unregisterListener(this);
    super.onPause();
}

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
    if (sensor.getType() == Sensor.TYPE_LIGHT) {

        //TODO
    }

}

@Override
public void onSensorChanged(SensorEvent event) {

    if (event.sensor.getType() == Sensor.TYPE_LIGHT) {

        //TODO
    }

  }

}

InformationsquelleAutor Droidman | 2013-07-01

Schreibe einen Kommentar