2010-08-13 42 views
4

我正尝试阅读我的Nexus One的光传感器的值,但只I'mgetting以下值:在Nexus一个光传感器只返回两个不同的值

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的一个或另一个Android装置的光传感器的经验? 我的代码是读取值的正确方法吗? 如何获得更好更准确的值?

回答

1

你的代码看起来不错。我正在接受这样的值:10,225,320,640,1280,2600,3200,10240。但我真的需要指出设备朝向太阳接收更高的值。

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

+0

你是对的。事情是,我显然只是在阴天或晚上测试了我的应用程序。我们的眼睛工作对数,而设备没有。 – 2010-10-23 13:14:28