Android - 在什么情况下会触发 onAccuracyChanged()?

Android - in what user case will onAccuracyChanged() trigger?

我正在研究 Android API 并遇到了 onAccuracyChanged 方法。

在 Whosebug 上进行了 Google 和搜索,但我仍然不明白在什么情况下传感器的精度可能会发生变化。

我尝试在下面的线程的答案中实现代码:

测试这个,我不知道如何触发这个方法。即使它可能在任何情况下都没有用。界面中提供这个肯定是有原因的。

出于好奇。有谁知道我如何触发这个电话?

有时需要校准的移动设备传感器的一个例子是指南针。

因此,您可以通过试验传感器类型 TYPE_MAGNETIC_FIELD 来观察精度变化事件。

您收到的结果将来自此列表:

  1. SENSOR_STATUS_ACCURACY_HIGH 该传感器正在以最高精度报告数据
  2. SENSOR_STATUS_ACCURACY_LOW此传感器报告的数据精度较低,需要根据环境进行校准
  3. SENSOR_STATUS_ACCURACY_MEDIUM 该传感器报告的数据具有平均准确度,根据环境进行校准可能会改善读数
  4. SENSOR_STATUS_NO_CONTACT 此传感器返回的值不可信,因为传感器与其测量对象没有接触(例如,心率监测器未与用户接触)。
  5. SENSOR_STATUS_UNRELIABLE

因此您可以看到状态反映传感器要么表现良好,需要校准,要么就是不工作。