我的代码是这样的。
public void foo()
{
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mSensorManager.registerListener(this, mSensorManager
.getDefaultSensor(Sensor.TYPE_LIGHT),
SensorManager.SENSOR_DELAY_FASTEST);
int i=0;
while(i<10000) //sleep, or something else
i++;
//print the currentLux's value
}
-
public void foo()
{
new lt().start()
int i=0;
while(i<10000) //sleep, or something else
i++;
//print the currentLux's value
}
class lt extends Thread
{
public void run()
{
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mSensorManager.registerListener(this, mSensorManager
.getDefaultSensor(Sensor.TYPE_LIGHT),
SensorManager.SENSOR_DELAY_FASTEST);
}
}
传感器事件是这样的:
public final void onSensorChanged(SensorEvent event)
{
if( event.sensor.getType() == Sensor.TYPE_LIGHT)
{
currentLux+=event.values[0];
}
}
这是我的问题。我需要创建光传感器,然后稍等片刻(大约 5 秒),然后检查值的总和。问题是,如果我使用睡眠、循环或其他方式,传感器不会获得任何值。我能做些什么?请帮我。