Nexus 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。 有什么帮助吗?
答案 0 :(得分:1)
您正在获取UI的方向,而不是手机本身的方向。由于各种原因,它们并不总是匹配。特别是,许多设备永远不会将其UI旋转180度。
您可能希望查看SensorManager
课程:http://developer.android.com/reference/android/hardware/SensorManager.html
答案 1 :(得分:1)
我想我找到了答案,那就是:是的,从基本的物理原理来看,它并不准确,因为取向是主观的。