安卓人像相机的可靠性

标签 android android-camera

我正在开发一个以 SDK 8 为目标的应用,最低 SDK 7 使用相机 View 。

显然,关于人像旋转相机的问题已经进行了大量讨论。我目前有以下将 SDK 7 和 8+ 分开的修复程序:

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.FROYO){
    theCamera.setDisplayOrientation(90);
} else {
    parameters.set("orientation", "portrait");
    parameters.set("rotation",90);
}

它适用于 2.1update1 设备和我拥有的 SGS2(运行 ICS)。

我的问题是,这些解决方案在各种设备上的可靠性如何?我见过一些针对“pre-froyo”情况的解决方案,所以我怀疑这个解决方案是否适用于所有设备。我还想知道“setdisplayorientation”在不同设备上的表现如何......

如果听到其他人对此的经验,我将非常感激。


更多信息:How to set Android camera orientation properly? 这解释了这些方法有时会起作用。那么进一步的问题是什么时候(SDK 版本)setDisplayOrientation 开始一直工作??

最佳答案

一个奇怪的解决方案,所有设备的方向都不会完全相同。它完全依赖于 OEM,可以因设备而异(我已经在许多设备上尝试过)。你不能简单地修复它。在首次启动时显示带有相机预览的 Activity,然后询问用户建议的旋转是否是他想要的,如果不是,则允许他更改。根据用户选择,您可以处理它。

关于安卓人像相机的可靠性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11638250/

相关文章:

android - setRotation 后调整 fragment 大小

安卓触控问题

java - 从另一个 fragment 导航后返回时 ViewPager 不可见

java - Android - 在相机和图库 Intents 之后裁剪会产生奇怪的结果

android - 捕获相机图像但不保存文件

android - Xamarin Android 显示来自相机的流

Android:处理 Activity 堆栈

android - 如何为来自同一站点的这些文章设置默认选择器?

Android 设备管理员 - 禁用未应用于(多用户) guest 帐户的相机

Android 使用 FileProvider 拍照