Я создаю приложение, которое использует камеру для съемки. Вот мой исходный код:
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, направление изображения неверно.
- Захват с портретным режимом, реальное изображение (сохранение на SD-карте) всегда поворачивается на 90 градусов.
Предварительный просмотр изображения после съемки --------- Реальное изображение на SD-карте
- Захват с ландшафтным режимом, все хорошо.
Предварительный просмотр изображения после съемки --------- Реальное изображение на SD-карте