私は現在、画面の向きに応じて動作が異なる Android アプリケーションに取り組んでいます。
getWindowManager().getDefaultDisplay().getRotation() を使用して onCreate() メソッドで画面の向きを取得し、そこから管理しています。
基本的に、私の問題は、向きを制御する必要があることです。横向きモードでは、ユーザーが決定すると、アプリケーションは縦向きモードに切り替える必要があり、その状態を維持しますが、使用が縦向きモードになり、次に横向きになるまでのみです。
私は setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) を使用して、横向きのときに向きを変更しています。問題は、これを使用すると、ランドスケープに戻れないことです。onCreate() で setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED) を使用すると、問題は数秒後に横向きモードに切り替わることです (画面がまだ横向きであるため)。
これを管理する他の方法はありますか?基本的に、listner を使用して画面の向きの変更をキャッチする方法はありますか (または、ビューが縦向きモードでロックされている場合は呼び出されないため、onCreate 以外の場所)。私はそれについて何も見つけることができません...
どんなアイデアでも大歓迎です!
ありがとう!