Nexus 5上使用Android 6

时间:2015-10-22 11:34:46

标签: android camera android-camera

我们有一个支持camera2接口的大相机应用程序。它在Android 5.1和其他版本上运行良好。但在Nexus 5升级到Android 6后,我们遇到了严重的问题。 相机的预览是半可见的! Logcat中没有错误。更重要的是,静态图像的捕获效果很好,即使预览帧也很好,只有SurfaceView上的可见预览才会被剪裁。 只有一件事是帮助 - 通过'主页'按钮重新启动。如果我们运行应用程序,此操作后我们可以看到整个预览。通过“后退”按钮关闭应用程序将再次打破预览。

clipped preview on Android 6

1 个答案:

答案 0 :(得分:1)

这是Android M的一个已知问题: http://code.google.com/p/android/issues/detail?id=191251

它将在即将发布的更新中修复。在那之前,可能的解决方法:

  1. 连接相机设备时始终创建新的曲面视图
  2. 通过将表面视图支架设置为(0,0)或(1,1),然后将其设置为OnSurfaceChanged
  3. 后所需的宽度和高度,强制曲面重新配置
  4. 在B之后,以及在第二次OnSurfaceChanged回调被触发之后,不要将曲面本身传递到相机框架。
  5. 如果应用程序未将方向锁定为纵向/横向,则在活动方向配置更改时重复步骤B.