画面が回転したときにクラッシュしないように、アプリが呼び出されたときの位置に画面の向きをロックしようとしています (はい、使用しました
android:configChanges="orientation|keyboardHidden"
Androidの下位バージョンでは問題なく動作しますが、上位のAndroidバージョンでは正常に動作するはずです
android:configChanges="orientation|keyboardHidden|screenSize"
また、screenSize パラメータは下位の Android バージョンではサポートされていません)。
だから、私はこの解決策を試しました(1):
setRequestedOrientation ( getResources().getConfiguration().orientation );
そして、この他のもの(2):
setRequestedOrientation ( getScreenOrientation() );
どこ、
public int getScreenOrientation()
{
Display getOrient = getWindowManager().getDefaultDisplay();
int orientation = Configuration.ORIENTATION_UNDEFINED;
if(getOrient.getWidth() < getOrient.getHeight()){
orientation = Configuration.ORIENTATION_PORTRAIT;
}else {
orientation = Configuration.ORIENTATION_LANDSCAPE;
}
return orientation;
}
どちらの場合も (1 と 2)、結果は次のようになります。縦向きでアプリを起動すると、正常に動作します。画面の向きは縦向きに固定されています。しかし、横向きにすると、向きが変わり続けます。
私が間違っていることは何ですか?前もって感謝します