0

私のアプリケーションでは、アクティビティによって手動で解放されるまでカメラをキャプチャし続ける必要があります (他のアプリケーションがカメラを使用できないため、これは悪い習慣だと認識しています)。以前は、CameraPreview の surfaceDestroyed 関数で camera.release() 呼び出しを回避することでこれを行うことができましたが、これは 2.1 以降では機能しなくなりました。

surfaceDestroyed 後にカメラを自動的に解放せずに、カメラを保持する方法はありますか?

前の質問の代わりに回答する回避策の質問として、プレビュー ビューを膨らませずに、サービス内から写真を撮る方法はありますか?

4

1 に答える 1

0

camera.lock() を呼び出して、カメラ ハードウェアのロックを再取得できる場合があります。カメラを再度開くことができない場合。

ただし、これの欠点は、他のアプリがカメラにアクセスできないようにすることよりもはるかに悪い. これにより、カメラ センサーと DSP に電力が供給され続けるため、バッテリーも急速に消耗します。このスレッドによると、2時間でバッテリーがなくなる可能性があります。

于 2011-02-19T00:53:42.687 に答える