センサーとして私のGalaxy S2を使用している私の古い35mmカメラ用の非常に基本的な光度計アプリケーションをコーディングしようとしています。限定された範囲の値を返す光センサーコード
私はdialllerキーパッドは、その後、「センサー」を選択の上、星ハッシュゼロスターハッシュを入力することによって選択されたこの携帯電話で利用可能な隠し/テストモードがあることを最初にすべての指摘しなければなりません。これは光度を変えるので、5から5のステップで2000から5までの範囲のLux値の範囲を示す光センサーが利用可能になります。
私が書いた非常に簡単な証明コードは、同じ範囲の照明条件に対して3つの値、つまり10,100および1000だけを表示します。私のコードは:
public class LightMeterActivity extends Activity implements SensorEventListener {
private SensorManager mSensorManager;
private Sensor mLightSensor;
private float mLux = 0.0f;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
mLightSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
}
@Override
protected void onResume() {
super.onResume();
mSensorManager.registerListener(this, mLightSensor,
SensorManager.SENSOR_DELAY_FASTEST);
}
@Override
protected void onPause() {
mSensorManager.unregisterListener(this);
super.onPause();
}
@Override
public void onAccuracyChanged(Sensor arg0, int arg1) {}
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_LIGHT) {
mLux = event.values[0];
String luxStr = String.valueOf(mLux);
TextView tv = (TextView) findViewById(R.id.textView1);
tv.setText(luxStr);
Log.d("LUXTAG", "Lux value: " + event.values[0]);
}
}
}
これはなぜかもしれないのですか?
私は助けにならなかった質問Light sensor on Nexus One returns only two distinct values を見ました。私は組み込みのテストモードがどのように完全な範囲を見ることができ、私のコードはできないのか理解できません。
ARENをそのようなちょっと複雑な質問のために少し50人少ない? :p – poitroae
@マイケル:あなたはあなたの時間を無駄にしたのですか?そのような態度がスタックオーバーフローであなたを人気のあるものにしてくれると思うなら、間違っていると思います。 – NickT