Android传感器如何随时获取准确性?

时间:2018-11-21 18:41:50

标签: android sensor compass

我知道onAccuracyChanged(Sensor sensor,int precision)回调,但这仅在发生更改时发生。如何随时获得准确性?

在Google Map中,如果您单击当前所在的兴趣点,则可以选择一个校准指南针的选项,并且在该屏幕中,它们会显示当前的准确性级别。

按顺序说,用图8校准指南针后,如何检查准确度是否确实提高了?我需要类似sensor.getAccuracy()的方法,但是找不到该方法。

1 个答案:

答案 0 :(得分:1)

我在https://github.com/sky-map-team/stardroid/blob/master/app/src/main/java/com/google/android/stardroid/activities/CompassCalibrationActivity.java找到了解决方案

  @Override
  public void onSensorChanged(SensorEvent event) {
    if (!accuracyReceived) {
      onAccuracyChanged(event.sensor, event.accuracy);
    }
  }

基本上,它在初始阶段调用onSensorChanged()中的onAccuracyChanged()以在开始时捕获当前的精确度级别。随后,当系统发生更改时,系统将自动调用onAccuracyChanged()。而且,您还可以随时检查onSensorChanged()中的event.accuracy是否为接收到的任何数据的值。