我开发了一个应用程序,它使用指南针提供一些增强现实功能。我发现有时需要校准我的指南针才能使其正常工作。
程序上如何知道需要进行校准?
我的意思是我知道如何使用8字形来校准指南针,但我想检测是否需要校准并向用户显示一些警报("您的指南针不够精确,请校准您的指南针传感器")。
请问这种可能吗?谢谢!
程序上如何知道需要进行校准?
我的意思是我知道如何使用8字形来校准指南针,但我想检测是否需要校准并向用户显示一些警报("您的指南针不够精确,请校准您的指南针传感器")。
请问这种可能吗?谢谢!
//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://dev59.com/r2sz5IYBdhLWcg3weHqU#7877688
"通常,如果设备未经校准,则在小幅旋转时会看到方位角值的巨大变化。这就是我担心的事情。"