У меня была проблема с ориентацией при работе с действием ACTION_IMAGE_CAPTURE
. Я использовал TAG_ORIENTATION
, чтобы соответственно повернуть изображение. Но теперь мы обнаружили, что на некоторых новых устройствах это не работает. Фактически он возвращает 1 для всех ориентаций.
Вот список устройств, на которых мы наблюдали это;
Интересно то, что как только это изображение становится галереей, оно появляется правильно, и если я выберу его, TAG_ORIENTATION
будет заполнен правильно. Так или иначе, ОС
правильно заполняет эту информацию, но не в ActivityResult
.
Какой самый надежный способ определить ориентацию? Кто-то по другому вопросу предложил сравнить высоту и ширину, но при их получении они правильно переключаются в зависимости от ориентации (еще одна загадка)
РЕДАКТИРОВАТЬ: Похоже, это может быть связано с другой ошибкой, когда ОС дублирует изображение, снятое в галерее (предполагается, что изображение будет сохранено только по указанному нами URL), дело в том, что это изображение в галерее имеет информацию ОРИЕНТАЦИЯ
, а изображение в указанном месте - нет.
Это ошибка; http://code.google.com/p/android/issues/detail?id=19268
РЕДАКТИРОВАТЬ-2: Я зарегистрировал новую ошибку в Android. Я почти уверен, что это ошибка ОС, связанная с вышеупомянутой ошибкой. http://code.google.com/p/android/issues/detail?id=22822