后获得设备的方向我想获得设备的方向,理论上应该工作中使用此:Android的 - 拍照
getActivity().getResources().getConfiguration().orientation;
但是我注意到,有时,我一直在使用这个代码调用相机后:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
fileUri = getOutputMediaFile(1); // create a file to save the image
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name
// start the image capture Intent
intent.putExtra(GlobalDefines.IMAGE_NR, 1);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE_1);
后,我已经拍摄的图像,当我试图让在onActivityResult设备的方向(拍摄照片后,被称为)设备的方向规定“风景”模式,虽然我拍的照片中肖像模式,并保持该设备在肖像模式下。
奇怪的是,这只发生在10次左右的3次。看起来,在拍摄照片时,设备方向会在内部更改为“横向模式”(即使图像是以纵向模式拍摄的),并且在拍摄照片后,需要一段时间,直到设备意识到它处于纵向模式。
我该怎么办?
您最好使用图像方向,因为某些设备+相机程序执行奇怪的方向更改。 – 2014-08-29 13:59:46
是的,我注意到了,这就是为什么我想知道设备方向(需要更长时间才能解释为什么),主要问题是我的exif图像数据似乎也很奇怪...... – deimos1988 2014-08-29 14:01:12
某些设备没有写入EXIF数据。您必须从'MediaStore.Images.ImageColumns.ORIENTATION'检查方向。无论如何,我总是检查级联中的所有方向:MediaStore,EXIF,设备。 – 2014-08-29 14:06:03