光センサーの変化をリッスンしてその値を読み取るコードがあります。
SensorManager sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
mLightSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
//light sensor listener
private SensorEventListener lightSensorEventListener = new SensorEventListener(){
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub
}
@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
//my reading code
}
この単純なコード セグメントは、Nexus S、Nexus One、Galaxy Nexus で、画面のオン/オフに関係なく正常に動作します。
しかし、HTC One X で実行すると、画面がオフになっていると動作しないことがわかりました。つまり、画面がオフの場合、センサーはトリガーされないようです。ただし、画面がオンの場合は正常に機能し、正しい読み取り値が得られます。
ハードウェアの問題なのでどうしようもないのではないかと思います。それとも単なる設定の問題?設定で自動輝度をオンにしましたが、役に立ちませんでした。ありがとう!