如何在Android更改后立即从光传感器获取传感器数据?

时间:2012-05-08 15:07:58

标签: android sensor light

我已成功获得光照值,但是,它非常延迟。即使使用.SENSOR_DELAYED_FASTEST,即使输入0作为速率也大约需要3~5秒。它太慢了。我有程序检查屏幕上的光传感器值,然后相应地改变亮度。它会解决可怕的自动亮度延迟。但是在搞砸了它之后,在我看来这只是android中的一个缺陷。它根本无法快速更新。我使用了getDefaultSensor()但是根据android文档,这个值可以被延迟/过滤,但是在读取stackoverflow上的另一个帖子时,getSensorList()和getDefaultSensor()返回相同的值,并且getSensorList()与getDefaultSensor()没有什么不同

我的问题的原因是:这是正确的吗? android是否只是立即更新失败?它有趣的原因我的Windows MOBILE(不是电话)可以立即更新,我喜欢它。但是所有的Android设备我都看到了同样的东西。那么这只是机器人编程的一个缺陷吗?作为应用程序开发人员,我有办法解决这个问题吗?还是我们必须忍受它?

2 个答案:

答案 0 :(得分:0)

据我所知,你不能更快。请查看此问题并回答:https://stackoverflow.com/a/5060690/1381641

答案 1 :(得分:0)

我没有解决您问题的方法,但是我有相应的解释。由于集成时间从Play商店下载了适用于Android的Sensor Box,因此环境光传感器存在延迟。

您将获得环境光传感器的硬件ID,然后在Google上进行搜索,然后将获得包含有关该特定型号的技术详细信息的PDF。每个Android或IOS手机都不使用相同的硬件。

在该PDF中,您将获得集成时间。它的存在是为了保持亮度控制稳定,延迟以及合理。如果它很低,并且您在迪斯科舞厅中,您的亮度将继续闪烁。对于外部也是如此,如果集成时间很短,有时会有一些阴影使其上下波动。它将闪烁更多,并且不稳定。

这也会对背光造成伤害,因此,它们不取单个值,而是向下编译较大时间间隔的值。我的整合时间为400毫秒。此值发送到处理器,然后做出决定。

您可以更改此值。这很容易,AMD硬核取决于您的专业知识,例如要更新它,您必须通过打开电话,连接编程器并以正确的方式连接引脚来对ALS单元进行编程。然后按照PDF中的说明发送8位信号(如果模型是可编程的)。