我正在开发一个显示摄像头预览的android应用程序。理想情况下,我希望应用程序在纵向模式下工作,这意味着我需要处理相机预览图像的旋转。
我只需要支持api级别8(android版本2.2)和更高版本,所以我可以使用Camera.setDisplayOrientation来设置方向,该方法的api文档包括一个setdisplayorientation函数,它可以实现我想要的功能。唯一的问题是,它使用api级别9Camera.CameraInfo来获得相机相对于设备的方向(可能是为了处理横向和纵向设备)。
所以,假设我可以为所有8级设备执行setdisplayorientation(90)操作,而对较新的设备只使用camerainfo.orientation,这安全吗?

最佳答案

我在HTC EVO班次上尝试了以下方法,项目设置为API8(效果很好):

Configuration cfg = mContext.getResources().getConfiguration();
if (cfg.orientation == Configuration.ORIENTATION_PORTRAIT) {
    mCamera.setDisplayOrientation(90);
}

10-04 17:22