Sensor.TYPE_ORIENTATION
устарело.
В документации сказано, что вы должны использовать SensorManager.getOrientation()
.
Таким образом, вы должны прочитать с Sensor.TYPE_ACCELEROMETER
, а также с Sensor.TYPE_MAGNETIC_FIELD
, а затем позвонить SensorManager.getRotationMatrix()
и, наконец, SensorManager.getOrientation()
, который вернет вам ориентацию телефона.
Оттуда, если вы видите эту диаграмму, тривиально получить ориентацию телефона. Вероятно, это то, что делает ваш второй пример, но я не знаю, потому что вы не показали мне, что это такое.