Ориентация андроида - проблемы с интентами (камера)

Вот интересное...

У меня есть приложение, которое я пишу для устройств под управлением Android 2.3.3 и выше.

У него есть основное действие, которое вызывает камеру через Intent.

Если пользователь нажимает кнопку для запуска камеры; затем делает снимок; затем нажимает «Готово», чтобы вернуться к основному действию — приложение работает нормально и отображает новое изображение в виде изображения в основном действии.

однако, если пользователь использует основное действие в портретной ориентации; затем нажимает кнопку, чтобы открыть намерение камеры и изменить ориентацию на альбомную; затем нажмите «Готово», чтобы вернуться к основному действию — приложение вылетает

, но затем... однако, если пользователь использует основное действие в портретной ориентации; затем нажимает кнопку, чтобы открыть намерение камеры и изменить ориентацию на альбомную; затем меняет ориентацию обратно на портретную (в камере), прежде чем щелкнуть «Готово», чтобы вернуться к основному действию, после чего приложение продолжает работать в обычном режиме.

Что я пробовал: Я изменил файл манифеста, чтобы заставить приложение (основное действие) ориентироваться в портретной ориентации (я также удалил это) Я добавил эту строку в основное действие, пытаясь обработать повторную отрисовку действия, возвращаемого из намерения камеры:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

В окне отладки я получаю ошибки, описывающие исключения nullpointer — я думаю, это потому, что больше не существуют после изменения ориентации изображения, в которое должно быть передано, если только ориентация не такая же, как когда она была оставлена.

Я немного запутался, поэтому был бы признателен за совет.

5
задан agrodude 21 June 2012 в 10:29
поделиться