2011-08-17 12 views
14

私がゲームを始めたとき、コンパスはしばしば殴られていないことが分かりました。オブジェクトは飛行し、どこにいるのかわからない。しかし、私が数字8で電話を動かすか(またはランダムな方向に丸める)、おそらく半分の時間内にすべてがスナップします。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 
関連する問題