2011-03-07 15 views
0

私のアプリケーションにコールバックonPreviewFrameを使用していますが、アクティビティを終了しようとすると問題が発生します。コールバックがなければ、backをクリックしても問題はありませんが、コールバックでbackをクリックすると、カメラオブジェクトのrelease()が実行された後にコールが行われたことが通知されます。スレッドセーフではないクラスで安全に関数を実行する(Androidカメラ)

注:コールバックはスレッド化されています(これはデフォルトの実装だと思います)。また、カメラオブジェクトが強制終了された後も、そのオブジェクトにアクセスしようとし続けます。

このコールバックなしでアクティビティを安全に終了すると、問題が発生します。コードを見たい場合は、私はいくつか投稿することができます。

+0

これがあなたの活動の戻るボタンを上書きすることによってこれを試すのに役立つかどうか分からないhttp://developer.android.com/reference/android/hardware/Camera.html#release%28%29 – ingsaurabh

答えて

0

これは一種のとんでもない私には思えるが、おそらく1が通常のコールバックを設定する必要があります

mCamera.stopPreview() 
mCamera.release() 

を呼ぶだろうonPause()方法で:

mCamera.stopPreview() 
mCamera.setPreviewCallback(null) 
mCamera.release() 

これは無通話がすることを私たちを保証プレビューが破棄されるとカメラに送信されます。 ..

関連する問題