我是新來的Android的傳感器使用,現在有點困惑。我只有在有明顯的光線變化時才需要執行一些操作,例如光線在黑暗的房間裏打開。到目前爲止,我有一個非常簡單的默認實現。我怎麼能告訴系統我只想對一個重大的燈光變化做出反應?安卓光線感應器 - 檢測到明顯的光線變化
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
}
}
}
所以,如果我理解正確,光變化數據存儲在「值」數組? – Droidman
是的,它是正確的 –
以及問題是我如何檢測如果光線變化是顯着的..您的實施將對任何變化作出反應 – Droidman