2012-12-19 157 views
4

对于我的应用程序,我需要获得光传感器的最大值。我认为所有具有光线感应器的设备(即SensorManager.LIGHT_SUNLIGHT_MAX)都是一样的,但根据设备上进行的样品测试,我错了。Android:获取光传感器的最大值

问题是,使用SensorListener只能知道值何时发生了变化。所以我的问题是:如何获得光线传感器的最大值(假设用户可以在传感器前面放置一个强大的光线,即光线值>最大传感器值)????????????????????

解决方案可能在寻求价值增长,但我不知道如何管理它。

回答

3

使用下面的方法:

getMaximumRange() 

实现:

SensorManager sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); 
Sensor lightSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); 
maxvalue = lightSensor.getMaximumRange(); 

来源:

http://developer.android.com/reference/android/hardware/Sensor.html#getMaximumRange()

+1

getMaximumRange()返回值以上10000,而光传感器事件给出值当它是黑暗的时候是0,当外面非常晴朗时它的值是5。我能从活动中获得的最大价值是在光线充足的房间里获得了50美元。在星系SIII上测试。 – SMart

+1

我得到了2000多!尝试将另一款智能手机的闪光灯放在您的光线感应器上! – Alessio

+2

getMaximumRange()为我返回3000,但传感器返回值从10到16000!看起来你不能依靠最大范围值! – DominicM