获取 android 设备方向,即使自动旋转已关闭

Get android device orientation even when autoRotation is turned off

我有一个 android 应用程序,其中的屏幕方向在清单文件中设置为纵向。 它在 b/w 中使用自定义相机拍摄照片,我需要保存照片。

在保存图像之前,我必须根据用户握持相机的方式旋转图像,以便以正确的方向保存图像。

那么,即使我的应用程序处于 运行 纵向模式并且 android "auto-rotation" 功能处于打开状态,有什么方法可以让我获得设备方向。 我怎样才能做到这一点?

您应该根据图像中的方向信息进行旋转,而不是根据设备方向。

Here is some more information关于如何判断旋转。

既然这没有用,你试过hackpod的回答了吗here:

getResources().getConfiguration().orientation

简单检查一下,图片的高度和宽度。如果高度小于你的宽度,这意味着用户水平拿着 phone,所以你必须旋转它。

要获取当前设备方向,试试这个:

getWindowManager().getDefaultDisplay().getRotation();

我目前正在使用 android 方向传感器来解决这个问题并且它工作得很好。在有人给出更好的工作方法之前,我接受这个作为其他有相同问题的人的答案。