特定のアクティビティについて、Android アプリで方向センサーを完全にオフにする方法を知りたいです。
これが私が苦労しているものです。次のコマンドを使用して、アクティビティの onCreate (または onStart/onResume) メソッドで方向を動的に設定するとします。
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
私が経験したことは、方向センサーに従って横向きモードになるような方法でデバイスを保持すると、画面がディスプレイに表示されるのが著しく速くなることです.
つまり、アクティビティが最初にセンサーが提案する方向にレイアウトを設定したいと考え、その後 setRequestedOrientation メソッドに従って切り替えるように感じます。関連する投稿android-unknown brief orientation change at switch of activity で説明されているように、画面にこれが表示されることもあります。
setRequestedOrientation 呼び出しでは遅すぎるようです。したがって、 setRequestedOrientation 呼び出しの前に方向の設定を回避するために、方向センサーを完全にオフにする方法を考えています。または、代わりに setRequestedOrientation を時間内に呼び出す方法。実行時に決定されるようにこの機能が動的に必要なため (環境設定)、マニフェストで固定された向きを設定できません。
この問題に関するヒントをお寄せいただきありがとうございます。
マーティン
編集:言及するのを忘れました、マニフェストには含まれています
android:configChanges="keyboardHidden|orientation|screenSize"