How to detect phone tilt?

10,802

Solution 1

I see that this post is a bit old, so maybe it's been answered by now, but Sensor.TYPE_ORIENTATION is now deprecated in favor of SensorManager.getOrientation().

I've done a full writeup of essentially what you're looking for here: http://blog.samsandberg.com/2015/05/10/tilt-for-android/

Hope it helps someone looking for the same thing!

Solution 2

What you need is SensorManager.getOrientation().

Share:
10,802
user1367713
Author by

user1367713

Updated on June 04, 2022

Comments

  • user1367713
    user1367713 about 2 years

    How to determine the angle of the phone orientation in the one plane?

    Now I make it through SensorManager:

    mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    mOrientation = mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
    
    ...
    
    public void onSensorChanged(SensorEvent event) {
        xy_angle = event.values[0]; 
        xz_angle = event.values[1]; 
        zy_angle = event.values[2]; 
    

    Here I get different angles, but I need only one angle, which varies with the rotation of the phone, while driving along the blue line.

    How calc or how get this angle?

    http://i.stack.imgur.com/kCElj.jpg

    How can I use SensorManager.getOrientation for tilt controls like "My Paper Plane"? - similar question here, but I don't understand how author solve his problem.

  • Loisaida Sam Sandberg
    Loisaida Sam Sandberg over 7 years
    Sorry for that - blog was riddled with spam so I took it down until I had a chance to fix it. Fixed!