已解决:问题与Android相机或SDK无关,而是我自己的逻辑,以确定相机和表面是否都准备就绪。
我有一种情况,我有一个存在于活动布局xml中的SurfaceView,我在其中添加了一个回调,这样我就可以知道surfaceHolder何时可以作为我的应用程序的Camera预览窗口。这部分工作正常。我得到一个预览窗口,可以使用所有正常的相机相关方法和回调来拍摄和存储图像。
问题在于,在用户拍摄照片后,系统会提示他们使用一个按钮,这样他们可以立即拍摄另一张照片,而无需先为他们拍摄的照片打开预览窗口......这就是我的照片问题在于!当我尝试第二次调用camera.startPreview时,使用已经创建的surfaceHolder实例,我没有预览。
如何重复使用相同的surfaceHolder?有没有办法我可以强制使用surfaceView来销毁并重新创建当前的持有者?
答案 0 :(得分:0)
问题最终与surfaceHolder在同一活动的生命周期中重复用作多张照片上的相机预览的能力无关。这完全取决于我自己的逻辑,即检查相机和支架是否确实“准备好”。