Android罗盘精度-何时校准?
我开发了一个应用程序,它使用compass提供了一些增强现实功能。我发现有时我需要校准我的指南针,使它工作良好 我如何(通过编程)知道需要校准? 我的意思是,我知道如何使用8型图形校准指南针,但我想检测是否需要校准,并向用户显示一些警报(“您的指南针不够准确,请校准指南针传感器”) 请问这可能吗?Android罗盘精度-何时校准?,android,augmented-reality,compass,Android,Augmented Reality,Compass,我开发了一个应用程序,它使用compass提供了一些增强现实功能。我发现有时我需要校准我的指南针,使它工作良好 我如何(通过编程)知道需要校准? 我的意思是,我知道如何使用8型图形校准指南针,但我想检测是否需要校准,并向用户显示一些警报(“您的指南针不够准确,请校准指南针传感器”) 请问这可能吗? 谢谢 我的解决方案是使用SensorEventListener接口的onAccuracyChanged()方法 我会这样做: //In SensorEventListener interface im
谢谢 我的解决方案是使用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;
}
}
您还应在此处查看此答案:
“通常情况下,如果设备未经校准,您将看到小旋转时方位角值的巨大变化。这正是我所担心的。”