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

问题描述 投票:0回答:1

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

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

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

android sensor compass
1个回答
0
投票

我在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值是否为接收到的任何数据。

© www.soinside.com 2019 - 2024. All rights reserved.