我的应用程序必须保持摄像头被捕获,直到由Activity手动释放(我意识到这是不好的做法,因为没有其他应用程序可以使用摄像头)。我曾经能够通过避免CameraPreview中的surfaceDestroyed函数中的camera.release()调用来做到这一点,但是在2.1之后它不再有效。
有没有办法让相机保持在圈养状态,而不会在surfaceDestroyed之后自动释放?
作为一个解决方法而不是前一个问题的答案,有没有办法在服务中拍照,而不会让预览视图膨胀?
答案 0 :(得分:0)
您可以调用camera.lock()重新获取相机硬件上的锁定。如果没有,你可以重新打开相机。
然而,这样做的缺点远比阻止其他应用访问相机更糟糕。这也将迅速耗尽电池,因为它可以保持相机传感器和DSP供电。根据{{3}},这可能会在两小时内杀死电池。