いや、取れないわけじゃないですけどね。SensorManager.SENSOR_STATUS_UNRELIABLEにハマった…
XPERIA rayで方位が取れない問題があったので、調べていたところaccuracyのチェックでメソッドを抜けていたことが判明…完全に見落としてた。
@Override public void onSensorChanged(SensorEvent event) { if (event.accuracy == SensorManager.SENSOR_STATUS_UNRELIABLE) { return; } switch (event.sensor.getType()) { case Sensor.TYPE_MAGNETIC_FIELD: magneticValues = event.values.clone(); // ■ここに来ない break; case Sensor.TYPE_ACCELEROMETER: accelerometerValues = event.values.clone(); break; } // do something ... }
GALAXY Sでも方向が取れないと報告があったので多分これでしょう。
キャリブレーションすればいいのかな…