Android 在HTC One X上,光传感器赢得';屏幕关闭时不工作

Android 在HTC One X上,光传感器赢得';屏幕关闭时不工作,android,sensors,Android,Sensors,我有一个代码,可以监听光传感器的变化并读取其值: SensorManager sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE); mLightSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); //light sensor listener private SensorEventListener lightSensorEventLi

我有一个代码,可以监听光传感器的变化并读取其值:

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

//light sensor listener
private SensorEventListener lightSensorEventListener = new SensorEventListener(){

    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
        // TODO Auto-generated method stub
    }

    @Override
    public void onSensorChanged(SensorEvent event) {
        // TODO Auto-generated method stub
            //my reading code
    }
这个简单的代码段在Nexus S、Nexus One和Galaxy Nexus上运行良好,无论屏幕处于打开或关闭状态

但在HTC One X上运行时,我发现当屏幕关闭时,它将无法工作。i、 e.当屏幕关闭时,传感器似乎未触发。但当屏幕打开时,它工作正常并给出正确的读数

想知道这是否是硬件问题,所以我对此无能为力。或者这只是一个设置问题?我已经在设置中打开了自动亮度,但没有帮助。
谢谢

不要求传感器在屏幕关闭的情况下工作。由于光传感器通常用于调整屏幕亮度,因此设备制造商在屏幕关闭时不启用光传感器是合理的

也就是说,尝试抓住一个部分唤醒锁,这是让传感器在屏幕关闭时工作的方式(至少对于加速计):

确保您获得唤醒锁定权限:


完成后,请确保释放唤醒锁。

不要求传感器在关闭屏幕的情况下工作。由于光传感器通常用于调整屏幕亮度,因此设备制造商在屏幕关闭时不启用光传感器是合理的

也就是说,尝试抓住一个部分唤醒锁,这是让传感器在屏幕关闭时工作的方式(至少对于加速计):

确保您获得唤醒锁定权限:

完成后,请确保释放唤醒锁

    PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
    PowerManager.WakeLock lock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Light sensor");
    wl.acquire();