我希望我的应用程序能够在 Android 2.1 和 2.2 版本上运行。 在我的应用程序的一个区域中,有一个肖像风格的相机 - 在两个操作系统版本上生成肖像相机预览的过程是不同的(据我所知)。方法如下:
2.1:
Camera.Parameters parameters = camera.getParameters();
parameters.set("orientation", "portrait");
camera.setParameters(parameters);
2.2:
camera.setDisplayOrientation(90);
setDisplayOrientation(int) 方法在 API 级别 8 (2.2) 中可用,因此不能在 2.1 上使用;但是,使用 2.1 (Camera.Parameters) 方法无法在 2.2 上正确旋转预览和图像。
存在这种不兼容性似乎很奇怪 - 是否有更正确的方法可以让我同时针对两个平台?
最佳答案
尝试:
Camera.Parameters parameters = camera.getParameters();
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.FROYO) {
parameters.setRotation(90);
camera.setParameters(parameters);
} else {
camera.setDisplayOrientation(90);
}
关于Android API 版本兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4236902/