Не вариант, потому что тогда у вас такая же проблема на планшетах в альбомной

рабатываю мобильное приложение на базе Android сminSdkVersion=15, Мне бы хотелось поддерживать обе ориентации для планшетов и только портретные для смартфонов. Все работает как шарм, но я испытываю небольшую ошибку, которая сводит меня с ума. Когда смартфон находится в ландшафтном режиме, и я пытаюсь запустить новое действие, он некоторое время открывается в ландшафтном режиме, а затем автоматически поворачивается в портретный режим. Каждое из моих занятий расширяет класс GeneralActivity:

public class GeneralActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // If smartphone lock orientation to portrait
        if (!Helper.isTablet(this.getApplicationContext())){
            this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        }
    }
}

Я обнаруживаю таблетки с этой функцией:

public class Helper {
    public static boolean isTablet(Context context){
        Configuration config = context.getResources().getConfiguration()
        return config.smallestScreenWidthDp >= 600;
    }
}

Я выбираю не указыватьandroid:screenOrientation внутри Manifest.xml, потому что таким образом я могу поддерживать всю ориентацию интерфейса для планшетов. Я что-то пропустил?

РЕДАКТИРОВАТЬ

Я решил применить лучшую практику, предложенную в ответе Джонатана, но проблема, которую я описал, все еще здесь. Вот мой репо на github:https://github.com/giacmarangoni/Android-Orientation-Test

Ответы на вопрос(7)

Ваш ответ на вопрос