我在尝试创建一个跟踪接近传感器值的应用程序时遇到了问题。该应用程序的目的是定期(例如 30 秒)记录瞬时接近值。
遵循 API 文档,为该类型的传感器创建并附加标准侦听器。但是,即使我用手盖住传感器,该值总是报告为“5.0”(5cm,传感器的最大值)。
但是,如果我启动一个不同的应用程序(也监视接近传感器值),两个应用程序都会开始正确报告接近度。当我关闭另一个应用程序(Android Sensor Box)时,我的应用程序一直恢复为仅报告 5.0。
我已经调试了应用程序并在“ onSensorChanged ”事件中设置了一个断点,以仔细检查传递给onSensorChanged方法的SensorEvent对象,它始终为 5.0
编辑#2:它似乎不限于接近传感器。陀螺仪传感器的行为方式相同,而加速度计和磁力计似乎显示正确和最新的值。所有四个都以相同的方式引用和访问。
有任何想法吗?