Android 传感器精度

Android sensor accuracy

我制作了一个 android 应用程序,它在很大程度上依赖于非常精确的传感器数据(磁力计、重力计和加速度计)。为此,我通过检查 SENSOR_STATUS_ACCURACY_HIGH 的传感器状态定期验证所有这些设备传感器以获得最高服务质量。如果其中一个传感器没有此状态,我会显示一个校准屏幕,直到可以提供高精度为止。在我自己的设备上,这工作得非常好,但我从那些无法绕过我的校准屏幕的人那里得到了很多应用程序评论。我的问题是,我可以相信每个 android 设备本身都能够提供 SENSOR_STATUS_ACCURACY_HIGH 还是我必须降低最低准确度?如果是这样,这个状态是如何跨设备定义的?

不,你不能。即使可以,传感器也有可能损坏并错误地返回高状态。而且您不知道 OEM A 和 OEM B 对高的定义是否相同。最后,您信任每台设备的各个硬件驱动程序,并希望它们都善意行事并且具有相同的 "high accuracy" 定义。两者都不是真正可靠的。