【问题标题】:Get android device orientation even when autoRotation is turned off即使 autoRotation 关闭,也能获取 android 设备方向
【发布时间】:2015-12-20 16:23:36
【问题描述】:

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

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

那么,即使我的应用程序以纵向模式运行并且 android“自动旋转”功能已打开,有什么方法可以让我获得设备方向。 我怎样才能做到这一点?

【问题讨论】:

    标签: android android-layout android-camera android-orientation


    【解决方案1】:

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

    Here is some more information 关于如何确定旋转。

    既然这样没用,你有没有试过hackpod的回答here

    getResources().getConfiguration().orientation
    

    【讨论】:

    • 我得到了 onPictureCallBack() 中的 byte[] ,从那里我怎么能看到方向信息?
    • 我添加了指向我关注的 SO 问题的链接。
    • 刚试了一下,Exif Meta数据的方向也一直是1
    • 是的,我也试过那个。不工作。最后现在我使用方向传感器来获取值,这不是我的问题的最佳解决方案。
    • 对不起,我帮不了你:-(
    【解决方案2】:

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

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

    【讨论】:

    • 这给了我我的活动窗口方向。我一直把它设置为纵向
    【解决方案3】:

    只需检查图像的高度和宽度。如果高度小于您的宽度,则表示用户水平握住手机,因此您必须旋转它。

    【讨论】:

    • 宽度和高度都相同,因为相机仅在纵向模式下工作。我现在检查了。
    【解决方案4】:

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

    【讨论】:

      猜你喜欢
      • 2018-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-09
      • 1970-01-01
      相关资源
      最近更新 更多