Мне нужно получить ориентацию устройства. Как я обычно знаю, используются датчики TYPE_ACCELEROMETER
и TYPE_MAGNETIC_FIELD
. Моя проблема в том, что SensorManager.getDefaultSensor
возвращает мне null
для геомагнитного датчика. Он также возвращает null
для датчика TYPE_ORIENTATION
.
manager = (SensorManager) getSystemService(SENSOR_SERVICE);
Sensor sensorAcc = manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), //normal object
sensorMagn = manager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD); //null
orientationListener = new OrientationSensorListener();
manager.registerListener(orientationListener, sensorAcc, 10);
manager.registerListener(orientationListener, sensorMagn, 10);
Мне нужны еще несколько способов получить ориентацию устройства.