Get Android rotation angle in x-axis

久未见 提交于 2019-11-29 05:08:35

There is azimuth, pitch and roll available to you. Not sure which one relates to your "x-axis" but I think its azimuth.

Time for helpful links:

  1. http://www.workingfromhere.com/blog/2009/03/30/orientation-sensor-tips-in-android/
  2. http://marakana.com/forums/android/examples/43.html
  3. http://marakana.com/static/tutorials/SensorDemo.zip

Found a better answer! (Thanks to forgivegod for helping me starting this!)

ORIENTATION is now deprecated and uses to many resources. Plus, it works with reference to the magnetic north, which gives not the pure rotation of the device, but actually always points to the north.

By using ACCELEROMETER, one can calculate the rotation angle of the device with values [0] and [1] this way:

    public void onSensorChanged(SensorEvent event) {
        // TODO Auto-generated method stub
        if (event.sensor != mSensor)
            return;

        aX= event.values[0];
        aY= event.values[1];
        //aZ= event.values[2];
        angle = Math.atan2(aX, aY)/(Math.PI/180);
    }

Maybe this can help someone else in the future. Thanks a lot!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!