我正在编写自定义人像相机,但图像方向存在一些问题。详细地说,我需要相机始终处于纵向,并且它使用清单配置发生:
安卓:screenOrientation="人像"
我在应用程序中设置:
customCamera.setDisplayOrientation(90);
这很有效,因为当我旋转设备(90,180,270 度)时,我可以(从相机预览)看到正确的图像。
我不在乎设备方向何时被锁定(禁用),但是当它启用时,我似乎没有得到任何方向改变。我总是使用代码获得 0 度:
getWindowManager().getDefaultDisplay().getRotation();
从技术上讲,我需要向拍摄的照片(使用 exif 数据)写入 0、1、3、6 或 8 值。所以,步骤是:1)在自定义人像相机上设置正确的方向 - 完成!2) 预览正确的图片 - 完成!3)如果设备方向启用,获取当前旋转(0.90,180,270度) 4)用正确的方向exif标签写入拍摄的照片。
我正在使用三星 Galaxy I 进行开发。
问题是:当应用程序始终显示自定义肖像相机时,我如何获得设备方向,该相机永远不应旋转,但启用了设备方向?
谢谢你,尼古拉斯