私の Android アプリでは、Camera クラスを使用して、電話のカムレアからスナップショットを取得しています。startPreview を使用してカメラのプレビューを開始し、次に takePicture を使用して画像を取得します。追加して、アプリにランドスケープを強制しています
android:screenOrientation="landscape"
AndroidManifest.xml へ。問題は、電話を反時計回りに 90 度回転させたときにアプリに戻ったときです。この場合、プレビューが表示されません。黒であるか、ビューに設定されていません。GUI が表示され、電話から適切に写真を取得できます。プレビューが表示されないことを除いて、すべてが機能します。これは、電話機が縦向きの場合、または電話機が時計回りに 90 度回転している場合には発生しません。
つまり、左に回転するとプレビューは黒くなりますが、他の方向に回転するとプレビューは問題ありません。
私はかなり長い間これについて頭を悩ませてきましたが、アプリに戻る前に、最終的にそれが電話の向きに関連していることを発見しました.
特定のオリネテーションでプレビューが表示されないのはなぜですか?
編集:私は何かを発見しました。それ自体はカメラのせいではありません。カメラ プレビューの上に配置した GUI surfaceView は、どういうわけかプレビューを非表示にします。背景を透明にするように設定しましたが、機能しません。onDraw のすべての描画呼び出しも削除しました。しかし、それでも黒く描画されます。何らかの理由で、他の向きでは発生しません。何か案が?