我发现当我启动游戏时,指南针经常出现问题.物体将飞来飞去,而不是它们应该在的地方.但是,如果我将手机移动到八字形(或者只是随机向一定方向挥动),所有东西都会在半分钟内卡入到位.
指南针未校准时,硬件是否知道?我是否有可能检测到这一点并弹出一条消息告诉用户"你的机器人指南针需要校准.请以水平的八字形动作移动手机,直到此消息消失."
在SensorEventListener
一个功能onAccuracyChanged(Sensor sensor, int accuracy)
中,您可以检查设备的磁力计的准确性.有4个级别的准确性(从课堂上SensorManager
):
SENSOR_STATUS_ACCURACY_HIGH = 3 SENSOR_STATUS_ACCURACY_MEDIUM = 2 SENSOR_STATUS_ACCURACY_LOW = 1 SENSOR_STATUS_UNRELIABLE = 0