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();