Активность вращается и возвращается в нормальное состояние в Android 8.1

Мое приложение работает нормально для всех версий Android, но я заметил, что в Android 8.1.0 (Oreo), когда я перехожу на экран с портретной активности на альбомную, и когда я нажимаю кнопку возврата, он показывает ненормальное поведение.

Экран автоматически вращается из альбомной ориентации и возвращается в нормальное состояние. Похоже, Activity перезапускается.

Ниже приведены действия, определенные в файле манифеста.

<activity
    android:name = ".Home.TrainingsActivity"
    android:configChanges = "keyboardHidden|orientation|screenSize|layoutDirection|locale"
    android:screenOrientation = "portrait" />

<activity
    android:name = ".Home.ProgrammeActivity"
    android:configChanges = "keyboardHidden|orientation|screenSize|layoutDirection|locale"
    android:screenOrientation = "landscape" />
9
0
1 496
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Мы также столкнулись с той же проблемой с Oreo. На самом деле мы не можем понять, почему это происходит с конкретной версией ОС. Но у нас было решение этой проблемы. Вы можете добавить принудительную ориентацию к портретной ориентации, когда закончите пейзажную деятельность. добавьте это с помощью метода onBackPressed () в ProgrammeActivity.

 @Override
public void onBackPressed() {
    super.onBackPressed();
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}

это должно решить это ненормальное поведение :)

Позвольте мне попробовать это решение. Спасибо за быстрый ответ :)

Ahmad Arslan 19.03.2018 11:35

был бы признателен, если это поможет вам.

Abdul Wahab 19.03.2018 11:45

Это работает, но у меня 134 действия в альбомной ориентации, что происходит в портретном режиме. Я не думаю, что это хороший ход - переходить к каждому виду деятельности и использовать запрошенную ориентацию.

Ahmad Arslan 19.03.2018 12:15

вы можете справиться с этим с помощью baseActivity, если вы написали еще, напишите свою логику LandScapeBaseActivity и унаследуйте эти действия от этого.

Abdul Wahab 19.03.2018 12:43

спасибо за решение !!, вот уже 2 часа сижу над этой проблемой ..> <

florian-do 27.09.2018 01:18

отлично, это решает проблему, большое спасибо за то, что кто-то не работает, пожалуйста, используйте метод onDestroy ().

Surya Reddy 29.11.2018 10:45

Другие вопросы по теме