Nexus One手机上的光传感器只返回两个不同的值

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 设备上光线传感器的使用经验吗? 我的代码读取数值的方式正确吗? 如何获得更好、更准确的数值?

1个回答

1
你的代码看起来很好。我收到的数值是这样的:10、225、320、640、1280、2600、3200、10240。但我真的需要把设备对准太阳才能收到更高的数值。
编辑:从手机上使用Android API获取的光线传感器特性来看,10240是该传感器能够返回的最高值。

你是对的。问题是,我显然只在阴天或晚上测试了我的应用程序。我们的眼睛工作是以对数方式进行的,而设备则不是。 - Jonathan Roth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接