public void onCreate()
{
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mSensorManager.registerListener(this, mSensorManager
.getDefaultSensor(Sensor.TYPE_LIGHT),
SensorManager.SENSOR_DELAY_FASTEST);
while(true);
}
-
public void onCreate()
{
new lt().start()
while(true);
}
class lt extends Thread
{
public void run()
{
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mSensorManager.registerListener(this, mSensorManager
.getDefaultSensor(Sensor.TYPE_LIGHT),
SensorManager.SENSOR_DELAY_FASTEST);
while(true);
}
}
while を挿入すると、光センサーは光の値を取りません。このコード (while を除く) を別のスレッド内に配置しても同じです。なんで?リスナーはバックゴーランドで動作するべきではありませんか? センサーの登録後、光の値を確認する前に、少し待つ必要があります(何か他のものに置き換えます)。どのようにできるのか?