【问题标题】:Android compass accuracy - when to calibrate?Android 指南针精度 - 何时校准?
【发布时间】:2015-03-26 08:37:30
【问题描述】:

我开发了一个应用程序,它使用指南针提供了一些增强现实功能。我发现有时我需要校准我的指南针以使其正常工作。

我如何(以编程方式)知道需要校准?

我的意思是我知道如何使用 8 模式图形校准指南针,但我想检测是否需要校准并向用户显示一些警告(“您的指南针不够准确,请校准您的指南针传感器。”) .

请问可以吗? 谢谢!

【问题讨论】:

    标签: android augmented-reality compass


    【解决方案1】:

    我的解决方案是使用 SensorEventListener 接口的 onAccuracyChanged() 方法。

    我会这样做:

    //In SensorEventListener interface implementation    
    @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
            switch(sensor.getType()){
                case Sensor.TYPE_MAGNETIC_FIELD :
                    switch(accuracy) {
                        case SensorManager.SENSOR_STATUS_ACCURACY_LOW :
                            doSomething();
                            break;
                        case SensorManager.SENSOR_STATUS_ACCURACY_MEDIUM :
                            doSomethingElse();
                            break;
                        case SensorManager.SENSOR_STATUS_ACCURACY_HIGH :
                            doNothing();
                            break;
                    }
                    break;
                default:
                    break;
            }
        }
    

    您还应该在此处查看此答案:https://stackoverflow.com/a/7877688/7501326

    “通常情况下,如果设备未校准,您会看到小旋转时方位角值的巨大变化。这就是我所担心的。”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-27
      • 2012-06-11
      • 1970-01-01
      相关资源
      最近更新 更多