私の Android アプリケーションは縦向きでしか動作しません。ランドスケープモードは無効になっています
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT).
しかし、署名ビュー (カスタム ビュー) を含むダイアログがあり、ユーザーはそれを使用して署名を描画します。結果としてビットマップが得られます。上記のビットマップを表示する、保存された署名プレビュー用の ImageView もあります。ユーザーは、サインを描いている間、自分のデバイスを好きなように持つことができます。したがって、私のアプリケーションは、現在の画面位置に従って結果のビットマップを回転させる必要があります。たとえば、ユーザーが角度 = 90 度で署名を描画し、ビットマップを 90 度回転させたい場合、アプリケーションは署名ビットマップをポートレート モードで適切に表示します。問題は、ポートレート モードのみがサポートされており、次のアプローチが機能しないことです。
int rotation = getResources().getConfiguration().orientation;
また
int rotation = getWindowManager().getDefaultDisplay().getOrientation();
これらのステートメントの結果は常に 0 です。
では、向きの変更が無効になっている場合にデバイスの現在の位置を取得するにはどうすればよいですか?