Как определить изменение ориентации телефона Android с горизонтального положения на вертикальное?

Я не могу понять и выяснить, как определить изменение ориентации телефона Android с горизонтального на вертикальное положение. Здесь я не говорю об изменении ориентации между книжной или альбомной. Например, у меня есть телефон в горизонтальном положении, лежащий на полу, а затем я поднимаю его, чтобы увидеть экран спереди. Так собственно у телефона и был переход с одной оси на другую.

Могу ли я сделать это с помощью датчика вектора вращения?


person Wahib Ul Haq    schedule 07.06.2013    source источник
comment
Это может решить ваш ответ stackoverflow.com/questions /6846743/   -  person the-ginger-geek    schedule 07.06.2013


Ответы (2)


Вам понадобится датчик гравитации: http://developer.android.com/guide/topics/sensors/sensors_motion.html

Я думаю, что при отсутствии датчика гравитации вам придется полагаться на акселерометр и гироскоп.

person Herrbert74    schedule 07.06.2013
comment
Да ! использование датчика гравитации сработало для меня. Датчик гравитации показывает изменение от 0 до +9 при перемещении телефона из одного положения в другое. Спасибо ev1 :) - person Wahib Ul Haq; 10.06.2013

Посмотрите на мой ответ на Android Compass, который может компенсировать для наклона и тангажа. В коде, который я разместил, переменная m_pitch_radians будет равна нулю, когда телефон лежит на полу, и PI/2 (т.е. 90 градусов), когда он стоит вертикально.

person Stochastically    schedule 08.06.2013