我发现当我启动游戏时,指南针经常出现问题。物体将飞来飞去,而不是它们应该在的地方。但是,如果我将手机移动到八字形中(或者只是随机向一定方向挥动),所有东西都可能在半分钟内到达。
硬件是否知道指南针未校准的时间?我是否有可能检测到这一点并弹出一条消息告诉用户“你的机器人指南针需要校准。请以水平的八字形移动手机,直到此消息消失。”
答案 0 :(得分:24)
在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