【问题标题】:Keep camera captured by an activity after picture taken拍摄照片后保持相机被活动捕获
【发布时间】:2011-02-19 00:45:51
【问题描述】:

我的应用程序必须保持摄像头被捕获,直到被 Activity 手动释放(我意识到这是不好的做法,因为没有其他应用程序能够使用摄像头)。我以前可以通过避免在 CameraPreview 的 surfaceDestroyed 函数中调用 camera.release() 来做到这一点,但这在 2.1 之后不再有效。

有什么方法可以让相机保持在俘虏状态,而不会在surfaceDestroyed后自动释放?

作为替代上一个问题的解决方法问题,有没有办法从服务中拍照,而不会使预览视图膨胀?

【问题讨论】:

    标签: android camera preview surfaceview android-camera


    【解决方案1】:

    您可以调用 camera.lock() 重新获得相机硬件上的锁。无法重新打开相机。

    但是,这样做的缺点比阻止其他应用访问相机要糟糕得多。这也会迅速耗尽电池电量,因为它会为相机传感器和 DSP 供电。根据this thread 的说法,这可能会在两小时内杀死电池。

    【讨论】:

    • 感谢您的回答,我会尽快尝试锁定相机。电池消耗不是什么大问题,我的应用程序需要插入手机。如果重新锁定相机不起作用,有没有办法在不弹出表面视图的情况下重新打开相机?
    • 我通过在需要时重新打开相机解决了这个问题,尽管我仍然无法让它在后台工作。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    • 1970-01-01
    相关资源
    最近更新 更多