我正在编写一个自定义肖像相机,我遇到了一些图像方向问题。 在详细信息中,我需要始终将相机设置为纵向,并使用清单配置进行:
机器人: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进行开发。
问题是:当应用程序始终显示自定义纵向摄像头时,如何才能获得设备方向,该摄像头永远不应旋转,但设备方向已启用?
谢谢你, 尼古拉斯
答案 0 :(得分:0)
OrientationEventListener mOrientationListener = new OrientationEventListener(
this, SensorManager.SENSOR_DELAY_NORMAL) {
@Override
public void onOrientationChanged(int orientation) {
}
};