Android - 片段内的相机

时间:2015-12-07 19:56:16

标签: android android-camera

我花了很多时间尝试用碎片中的SurfaceView和相机拍照。

我已经看过其他解决方案了:

我有一个有效的代码,但我还有一个大问题: 当我拍照时,保存的图像旋转。

我有一个很大的限制因素:

- 屏幕方向仅为人像。

由于我在清单中android:screenOrientation="portrait"时无法检查设备方向,因此无法自行轮换已保存的图像。

另一方面,我知道像Snapchat这样的应用程序可以实现它,所以我认为这不是不可能的。 如果我使用以下代码就像一个魅力!

Intent takePhotoIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
mMediaUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
takePhotoIntent.putExtra(MediaStore.EXTRA_OUTPUT, mMediaUri);
startActivityForResult(takePhotoIntent, TAKE_PHOTO_REQUEST);

但我必须在片段上使用它,这会打开一个新活动,对吗?我可能应该寻找官方的android源代码吗?

我已尝试检查EXIF标记,但始终返回0.

我尝试过使用MediaStore但总是返回0。

Cursor cursor = context.getContentResolver().query(photoUri,
                new String[] { MediaStore.Images.ImageColumns.ORIENTATION }, null, null, null);

我认为解决方案是旋转图像,但我无法获得图像的原始方向。

0 个答案:

没有答案