Есть ли способ программно заблокировать приложение в портретном режиме для определенных операций, а затем возобновить (и привернуть приложение к ландшафтному, если пользователь держит устройство таким образом) после завершения операции?
Программировать блокировку в портретном режиме для определенных операций
Ответ 1
Попробуйте следующее:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
//Do your operation
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
Ответ 2
Я немного разбираюсь в вашем вопросе, но если проблема, с которой вы сталкиваетесь, заключается в том, что перезагрузка активности вызывает проблемы, вы можете добавить в манифест строку для обработки изменений ориентации самостоятельно. Вам, вероятно, понадобится сделать это в любом случае, если вы хотите сделать что-то особенное для изменений ориентации, но, возможно, просто добавление строк позаботится о ваших проблемах для вас:
<activity android:name=".MyActivity"
android:configChanges="keyboard|keyboardHidden|orientation" />