получить ориентацию устройства в сотах - PullRequest
0 голосов
/ 26 августа 2011

Функция SensorManager.getRotationMatrix (...) не работает в Android 3.0+. Я запустил приведенный ниже код на широком диапазоне телефонов / планшетов под управлением Android 2.x, и он работает просто отлично.

public void onSensorChanged(SensorEvent event) {
    float[] magnetic = event.values;

    if( accelerometer != null ) {
        float[] array = new float[9];

        SensorManager.getRotationMatrix(array, null, accelerometer, magnetic);

        // in 3.0+, 'array' contains all 0's here, which is bad

        SensorManager.getOrientation(array, orientation);
    }
}

1 Ответ

0 голосов
/ 26 августа 2011

Оказывается, что магнитное [0] содержит число от 0 до 360, содержащее подшипник.

...