У меня есть активность, на которой есть кнопка, я хочу изменить ориентацию на 90 градусов по часовой стрелке после того, как каждый раз, когда пользователь нажимает кнопку, я написал несколько кодов и работал на эмуляторе, но когда я тестировал его на реальном устройстве, его нетработал отлично, и когда мой код попал в случай 1, он вернулся в режим PORTRAIT вместо изменения поворота на REVERSE_PORTRAIT
Вот мой код:
btnchangeRotation.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int rotation = getWindowManager().getDefaultDisplay().getRotation();
Log.v("rotation--", ""+rotation);
switch (rotation) {
case 0:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
break;
case 1:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);
break;
case 2:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
break;
case 3:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
break;
}
}
});
Также я добавил разрешение на манифест НравитсяЭто:
<uses-permission
android:name="android.permission.WRITE_SETTINGS"
tools:ignore="ProtectedPermissions" />
Обратите внимание, что он работает на эмуляторе полностью без проблем.Любые предложения будут полезны.Спасибо за любые предложения.
Примечание: Когда я включаю поворот экрана на реальном устройстве, он работает очень хорошо, но когда я выключаю его, он просто установлен в книжной и альбомной ориентации, я хочу сделать это сПриборы без датчика гироскопа.