В настоящее время я работаю над приложением Android, поведение которого зависит от ориентации экрана.
Я использую getWindowManager (). GetDefaultDisplay (). GetRotation (), чтобы получить ориентацию экрана в методе onCreate () и управлять им.
В принципе, моя проблема в том, что мне нужен контроль над ориентацией. В ландшафтном режиме, когда пользователь принимает решение, приложение должно переключиться в портретный режим и оставаться таким же, но только до тех пор, пока пользователь не перейдет в портретный режим, а затем снова в альбомный.
Я использую setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT), чтобы изменить ориентацию в альбомной ориентации. Проблема в том, что, используя это, я не могу вернуться к пейзажу.
Если я использую setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED) в onCreate (), проблема заключается в том, что через несколько секунд происходит возврат в ландшафтный режим (поскольку экран все еще в альбомной ориентации).
Есть ли другой способ справиться с этим? По сути, есть ли способ отследить изменение ориентации экрана с помощью списка (или где-либо еще, кроме onCreate, поскольку он не вызывается, когда представления заблокированы в портретном режиме)? Я ничего не могу найти об этом ...
Любая идея приветствуется!
Спасибо!