17

我发现当我开始我的游戏时,指南针经常失控。物体会飞来飞去,而不是它们应该在的地方。但是,如果我以 8 字形移动手机(或者只是向随机方向挥动它),一切可能会在半分钟内卡入到位。

硬件是否知道指南针何时未校准?我是否有可能检测到这一点并弹出一条消息,告诉用户“您的 android 的指南针需要校准。请以水平 8 字形运动移动手机,直到此消息消失。”

4

1 回答 1

28

SensorEventListener有一个功能,您可以在onAccuracyChanged(Sensor sensor, int accuracy)其中检查设备磁力计的准确性。有 4 个准确度级别(来自 class SensorManager):

SENSOR_STATUS_ACCURACY_HIGH = 3
SENSOR_STATUS_ACCURACY_MEDIUM = 2
SENSOR_STATUS_ACCURACY_LOW = 1
SENSOR_STATUS_UNRELIABLE = 0
于 2011-08-17T21:25:00.340 回答