Nexus One上的光传感器仅返回两个不同的值

时间:2010-08-13 16:49:26

标签: android nexus-one

我正在尝试读取我的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设备上的光传感器有经验? 我的代码是读取值的正确方法吗? 如何才能获得更好,更准确的价值?

1 个答案:

答案 0 :(得分:1)

您的代码看起来很好。我收到这样的值:10,225,320,640,1280,2600,3200,10240。但我真的需要将设备指向太阳以获得更高的值。

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