4

我正在尝试读取我的 Nexus One 的光传感器的值,但我只得到以下值:

10.0

225.0

在少数情况下,某些值要高得多。

使用的代码:

sensorManager = (SensorManager) context
                .getSystemService(Context.SENSOR_SERVICE);
        sensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);

        listener = new SensorEventListener() {

            @Override
            public void onAccuracyChanged(Sensor sensor, int accuracy) {
            }

            @Override
            public void onSensorChanged(SensorEvent event) {
                 Log.d(Constants.TAG, "Brightness: " + event.values[0]);

            }

        };
        sensorManager.registerListener(listener, sensor,
                SensorManager.SENSOR_DELAY_NORMAL);

    }

有人对 Nexus One 或其他 Android 设备上的光传感器有经验吗?我的代码是读取值的正确方法吗?如何获得更好、更准确的值?

4

1 回答 1

1

你的代码看起来不错。我收到的值是这样的:10、225、320、640、1280、2600、3200、10240。但我真的需要将设备指向太阳才能获得更高的值。

编辑:通过使用 Android API 在我的手机上获得的光传感器特性 - 10240 是该传感器可以返回的最大值。

于 2010-10-22T11:58:27.290 回答