Androidの地磁気センサーを使用する際のSensorEventのaccuracyについて

Androidでセンサーを使う際扱うSensorEventのaccuracyには精度が入っているが、地磁気センサーにおいてSC-01K(Galaxy note 8)で色々試した時のメモ

基本的に何も無ければSENSOR_STATUS_ACCURACY_HIGHが入っているが、磁石を近づけたりして外乱を与えるとSENSOR_STATUS_UNRELIABLEになる。

残留磁気が残っている為か一度磁石を近づけるとそのままの精度だが回転などして取り除く操作をすると→SENSOR_STATUS_ACCURACY_LOWといった感じに徐々に精度が上がっていく模様。

つまりは変数名通りだが地磁気センサーの精度が出ているかはこの変数を確認すれば簡単に分かる。

その為地磁気センサーを使うアプリを作る際は、この変数を確認して低精度の場合ユーザーに端末を回転するように促したりする必要がある。