0

已解决:问题与 Android 相机或 SDK 无关,而是我自己的逻辑来确定相机和表面是否都准备好了。

我有一种情况,我有一个存在于活动布局 xml 中的 SurfaceView,我向其中添加了一个回调,以便我可以知道 SurfaceHolder 何时准备好充当我的应用程序的相机预览窗口。这部分工作得很好。我得到一个预览窗口,可以使用所有与相机相关的普通方法和回调来拍摄和存储图像。

问题是,在用户拍摄完照片后,他们会收到一个按钮提示,该按钮允许他们立即拍摄另一张照片,而无需先打开他们刚刚拍摄的照片的预览窗口……这就是我的问题所在!当我尝试使用已经创建的 surfaceHolder 实例第二次调用 camera.startPreview 时,我没有得到任何预览。

如何重复使用相同的surfaceHolder?有什么方法可以强制 SurfaceView 销毁并重新创建当前持有者?

4

1 回答 1

0

问题最终与在同一活动的生命周期内将surfaceHolder 重新用作多张照片的相机预览的能力无关。这完全取决于我自己的逻辑,即检查相机和支架是否确实“准备好”。

于 2012-02-29T22:49:02.657 回答