2014-09-23 5 views
0

Я сейчас создаю приложение AR для Android, но проблема была решена. По моей реализации сенсор показывает тот же шаг, даже если Android смотрит вверх или вниз. Следующая фотография показывает, что я хочу сказать.Как узнать, что Android смотрит вверх или вниз?

what_I_want_to_say

Датчик показывает, что шаг == -90, если я захватить Android горизонтально. Проблема в том, что я не могу обнаружить a! = B. (Датчик говорит a == b.) Может ли кто-нибудь знать, как узнать, что Android смотрит вверх или вниз? Ориентация Android должна быть портретной.

ответ

1

Sensor.TYPE_ROTATION_VECTOR используется для этого случая.

Датчики положения

Андроида платформа обеспечивает два датчика, которые позволяют определить положение устройства: геомагнитный датчик поля и датчик ориентации. Платформа Android также предоставляет датчик, который позволяет определить, насколько близко лицо устройства относится к объекту (известному как датчик приближения).

данные об ориентации следующим образом,

resultingAngles[1] = orientationData[0]; // orientation z axis to y axis 
resultingAngles[2] = orientationData[1]; // orientation x axis to z axis 
resultingAngles[0] = orientationData[2]; // orientation y axis to x axis 

Вы сделали поворот в Y Z х образом. Попробуйте изменить ориентацию ..

Пожалуйста, обратитесь к документации по значениям событий, http://developer.android.com/guide/topics/sensors/sensors_position.html

+0

спасибо Maven, он отлично работает !! – user2779344

+0

рад помочь :) – Gattsu