私のアプリでは、onClick() でカメラの意図を呼び出す ImgButton で 2 番目のアクティビティを呼び出します。写真を撮った後、アクティビティに戻って、ユーザーがさらに写真を撮るかどうかを選択できる AlertDialog Box を表示します。私のマニフェストでは、デバイスを回転させると AlertBox が消えるため、2 番目のアクティビティの向きを縦向きにロックしました。
<activity android:name="SecondActivity"
android:screenOrientation="portrait"></activity>
私のマニフェストでは、次のことも追加しました。
android:configChanges="orientation|keyboardHidden"
フルスクリーンモードの場合
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
写真を撮り、ポートレート モードから (デバイスを回転させずに) カメラ インテントを閉じると、2 つの異なるデバイスに問題があります。
HTC Desire: すべて正常に動作します。アプリケーションの状態を保存し、カメラからアクティビティに戻るとそれらを復元します:D
Galaxy S3*: sgs3 のカメラはデフォルトでランドスケープ モードで動作しているように見えますか? したがって、アクティビティに戻ると、アクティビティの表示内容は横向きモードでは瞬く間に表示され、すぐに縦向きモードに戻ります。しかし、向きが変わる前にAlertDialogが表示されるため、望ましくない回転の前にAlertDialogが消えます(したがって、アラートボックスが消えて回転がポートレートモードに戻る前に、横向きモードで0,1秒間だけAlertBoxが表示されます)...
ランドスケープ モードからカメラ インテントを終了した場合、デバイスに関係なく、問題は sgs3* と同じです。
カメラからアクティビティに戻った後、この画面の回転を防ぐにはどうすればよいですか? この望ましくない方向が変更された後、AlertBox を表示することはできますか? もしそうなら、どうすればこれを行うことができますか? または、他の回避策はありますか?
Thanks and sorry for my bad english ... xD