Is it possible simple to detect current orientation of android device, without programming a listener and handling the position matrix?
In my app I want only to know current orientation - vertical or horizontal - at the moment. However I don't want to listen to events of axiometry or other events.
Display display = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); int rotation = display.getRotation();
From the documentation:
Returns the rotation of the screen from its "natural" orientation. The returned value may be
Surface.ROTATION_270. For example, if a device has a naturally tall screen, and the user has turned it on its side to go into a landscape orientation, the value returned here may be either
Surface.ROTATION_270depending on the direction it was turned. The angle is the rotation of the drawn graphics on the screen, which is the opposite direction of the physical rotation of the device. For example, if the device is rotated 90 degrees counter-clockwise, to compensate rendering will be rotated by 90 degrees clockwise and thus the returned value here will be
Keep in mind that
getRotation was introduced from Android 2.2. Use
getOrientation if your target are older devices.