バグがあります。カメラがプレビュー モードで、ユーザーがオン/オフを押すと、カメラのプレビューが停止し、開始されません。
明らかな提案は、他の人が何をしているかを見ることです。https://github.com/commonsguy/cw-advandroid/tree/master/Camera/Preview/を 参照しましたが、このデモにも同じバグ ( Android 4.0.3 ) があることがわかりました。
Java ソースへの直接リンク: https://github.com/commonsguy/cw-advandroid/blob/master/Camera/Preview/src/com/commonsware/android/camera/PreviewDemo.java
質問: どうすればバグを修正できますか? プレビュー モードは、デバイスのオン/オフ後も機能している必要があります。
UPD: 最初に別のアクティビティに変更し、そのアクティビティでオン/オフを押すと、バグは表示されません。
UPD2: オン/オフの後、startPreview() が呼び出されますが、システムからのメッセージが表示されます:
D/@@ (13428): startPreview() cameraConfigured=true camera=android.hardware.Camera@412f66f0
E/CamHw ( 2135): preview window is NULL!
これは、システムの奥深くで何か問題が発生していることを意味します (ただし、メッセージはデバイス固有のものである可能性があります)。
UDP3: on/off の後、from メソッドは呼び出されません。surfaceCallback
多分これが違いを生む。
UPD4: [このカメラのデモでは正確に表示されていません] (HOME を長押ししてリストから選択することにより) 別のアプリケーションに切り替えてから元に戻すと、カメラは再び機能します。