Проблема с ориентацией камеры в Android

Я создаю приложение, которое использует камеру для съемки. Вот мой исходный код для этого:

        File file = new File(Environment.getExternalStorageDirectory(),
            imageFileName);
    imageFilePath = file.getPath();
    Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
    //Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
    startActivityForResult(intent, ACTIVITY_NATIVE_CAMERA_AQUIRE);

В методе onActivityResult () я использую BitmapFactory.decodeStream () , чтобы получить изображение.

Когда я запускаю свое приложение на Nexus one работает хорошо. Но когда я запускаю Samsung Galaxy S или HTC Inspire 4G, изображение ' направление s неправильное.

  • При съемке в портретном режиме реальное изображение (сохраненное на SD-карте) всегда поворачивается на 90 градусов.

image preview after shot real image on SD card

Предварительный просмотр изображения после кадра --------- Реальное изображение на SD-карте

  • Снимайте в ландшафтном режиме, все в порядке.

Image preview after shot Real image on SD card

Предварительный просмотр изображения после кадра --------- Реальный образ на SD-карте

100
задан Alex Cohn 13 October 2018 в 12:27
поделиться