2012-01-30 53 views
2

我目前正在开发一款应用程序,该应用程序利用光线感应器在我的服务中执行任务。我使用的例子,从这个网站作为我的基地:当我的平板电脑插在电脑上调试Android:慢光传感器(仅当拔下插头时)

Android Light Sensor

传感器正常工作。但是,如果我运行相同的代码而没有插入它,则响应超慢,有时甚至从不触发。

任何人都可以提出为什么性能受阻,当设备本身?

编辑: 我应该注意到我正在尝试读取设备关闭的传感器。我发现问题是传感器在设备休眠时关闭。请看下面的答案。

感谢, 乔希

回答

1

有时候,这仅仅是一个设备的问题,许多人被报告为行动迟缓光/接近传感器。就传感器插入时正常响应的异常而言;也许您的设备传感器在有电源时会更快响应。

我说你选,看有改变rate

在:

https://developer.android.com/reference/android/hardware/SensorManager.html

率事件。这只是对系统的暗示。事件可能比指定的速率更快或更慢。通常事件 收到更快。该值必须是SENSOR_DELAY_NORMAL, SENSOR_DELAY_UI,SENSOR_DELAY_GAMESENSOR_DELAY_FASTEST之一。

所以我会想象加入SENSOR_DELAY_FASTEST可能会帮助你。

另外,我推荐你Android SENSOR_DELAY_FASTEST isn't fast enough后。

+0

我试着调整传感器延迟,但是这在拔下插头时没有任何影响。我相信你是对的,有可能传感器在通电时速度更快。但是,我希望情况并非如此,因为它使我的应用程序的光传感器成为零点。 – Josh 2012-01-30 04:56:14

+0

如果这是真的,最好的情况是你继续你拥有的并有免责声明:_Android 3.1已经知道传感器问题_或类似的东西......并且大多数设备将从该版本移开,所以它可能并不多从长远来看,这是一个问题。 – TryTryAgain 2012-01-30 05:18:35

+0

因此,为了测试传感器功率理论,我尝试了将平板电脑插入墙壁而不是PC的应用程序。结果与没有插入时结果相同。所以这显然与PC有关。无论我的开发环境是否运行都没关系,因为没有Eclipse运行,它也同样快。 – Josh 2012-01-30 10:51:30

1

我发现问题的原因是设备关闭了CPU,导致延迟或不读取光线传感器。

添加部分唤醒锁确实解决了此问题,但代价是电池使用率高。如果任何人有任何建议,我可以继续监测没有唤醒锁的设备关闭光传感器,我将不胜感激。