2011-08-17 1 views
14

나는 게임을 시작할 때 나침반이 종종 터벅 터벅 거리는 것을 발견했다. 사물은 날아 다니고 그들이 있어야 할 곳이 아닌 곳에있게 될 것입니다. 그러나 전화기를 숫자 8로 움직이면 (또는 임의의 방향으로 둥글게 흔들어서) 모든 것이 아마도 30 분 이내에 제자리에 고정됩니다.Android에서 나침반이 아직 보정되지 않았 음을 프로그래밍 방식으로 감지 할 수 있습니까?

나침반이 보정되지 않았을 때 하드웨어가 알 수 있습니까? 내가 이것을 감지하고 사용자에게 "귀하의 안드로이드의 나침반을 보정해야합니다."라는 메시지를 팝업으로 표시 할 수 있습니까?이 메시지가 사라질 때까지 수평 숫자 8 개의 동작으로 전화를 이동하십시오. "

답변

18

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 
관련 문제