Вот интересное...
У меня есть приложение, которое я пишу для устройств под управлением Android 2.3.3 и выше.
У него есть основное действие, которое вызывает камеру через Intent.
Если пользователь нажимает кнопку для запуска камеры; затем делает снимок; затем нажимает «Готово», чтобы вернуться к основному действию — приложение работает нормально и отображает новое изображение в виде изображения в основном действии.
однако, если пользователь использует основное действие в портретной ориентации; затем нажимает кнопку, чтобы открыть намерение камеры и изменить ориентацию на альбомную; затем нажмите «Готово», чтобы вернуться к основному действию — приложение вылетает
, но затем... однако, если пользователь использует основное действие в портретной ориентации; затем нажимает кнопку, чтобы открыть намерение камеры и изменить ориентацию на альбомную; затем меняет ориентацию обратно на портретную (в камере), прежде чем щелкнуть «Готово», чтобы вернуться к основному действию, после чего приложение продолжает работать в обычном режиме.
Что я пробовал: Я изменил файл манифеста, чтобы заставить приложение (основное действие) ориентироваться в портретной ориентации (я также удалил это) Я добавил эту строку в основное действие, пытаясь обработать повторную отрисовку действия, возвращаемого из намерения камеры:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
В окне отладки я получаю ошибки, описывающие исключения nullpointer — я думаю, это потому, что больше не существуют после изменения ориентации изображения, в которое должно быть передано, если только ориентация не такая же, как когда она была оставлена.
Я немного запутался, поэтому был бы признателен за совет.