1

连结 4。

我专门使用 System.out.println 在 LogCat 上打印出旋转,以观察旋转设备时的值。

int orientation_photo = ((WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getRotation();
System.out.println("For Debug: orientation_photo: " + orientation_photo);

旋转(0、1、2 或 4)根本不精确。有时我已经旋转了 90 度,但旋转值没有改变。

但是,相信 Nexus 4 设备可以正确检测到它,从其默认摄像头的方位表现来看,它总是记录正确的方位,以便我们以正确的方式查看图片。

我需要一个正确的旋转值,以便我可以放入照片 .jpg 文件的 ExifInterface。有什么帮助吗?

4

2 回答 2

1

您正在获取 UI 的方向,而不是手机本身的方向。由于各种原因,它们并不总是匹配。特别是,许多设备永远不会将其 UI 旋转 180 度。

你可能想看看这个SensorManager类:http: //developer.android.com/reference/android/hardware/SensorManager.html

于 2013-07-19T02:23:43.367 回答
1

我想我找到了答案,那就是:是的,它并不精确,从基本的物理原理来看,因为方向是主观的。

于 2013-09-25T21:21:27.223 回答