私はカメラのプレビューを表示するアプリケーションを持っています。私は、スリープ状態にしてからスリープ状態にしてから、アプリケーションを正常に復帰させることができるようにします。問題は、スリープから復帰したときにカメラのプレビューが再開しないということです。カメラのプレビューをスリープ状態から復旧する方法は?
私はapiのデモで紹介されているようにカメラのプレビューを実装しましたが、apiのデモのサンプルは単なる運勢でしか動作しないようです。この例では、画面の向きが強制的に横向きになっています。つまり、ロック画面がポートレートモードになっているため、電話がスリープ状態になるたびに設定変更が行われます。ポートレイトモードが(私のような)カメラプレビューアプリケーションで使用されていると、バグが浮き彫りになります。
私はバグが表面ビューのレクリエーションに関連していることを知りました。 onPauseに移動してからonResumeの後に再作成すると、サーフェスは常に破棄されますが、スリープ状態になるときには発生しません。アクティビティ全体を破棄してからカメラのプレビューを再作成する必要があります。私は表面ビューを再現できるようにしたいと思います。
アクティビティ全体を再作成する以外に、サーフェイスビューの再作成を強制する方法はありますか?
+1ありがとうございました。本当に助かりました!しかし、カメラの実装では、バイト配列を渡して、失敗したバインダーになったので、カメラを呼び出したアクティビティに元のバイト配列を戻す代わりに、私が取得&保存したイメージのFile Uriを渡さなければなりませんでしたスリープ後のトランザクション。 – AgentKnopf
Jasonのソリューションは4.0とそれ以降のデバイスでも機能しましたが、3.0とそれ以下のデバイスは同じ症状を示しています。任意のヒント? – rotinegg