从Gallery使用Android中的filedescriptor和parcelfiledescriptor获取图像旋转

job*_*ert 5 android gallery drive image-rotation google-photos

我想使用比android kitkat高的设备获取图像。目前,我使用filedescriptor和parcelfiledescriptor来获取图像。我成功获得图像,但是旋转了。由于图片存储在Google驱动器上,因此我无法直接使用inputstream。我该如何解决?(我知道图像数据通常存储在exif中,但如果尝试获取exif数据,旋转始终为0),我也尝试过使用lib:https//github.com/coomar2841/image-chooser-library,但我在这里得到同样的问题。

           ParcelFileDescriptor parcelFileDescriptor;
        try {
            parcelFileDescriptor = activity.getContentResolver().openFileDescriptor(selectedImage, "r");

            FileDescriptor fileDescriptor = parcelFileDescriptor.getFileDescriptor();

            Bitmap image = BitmapFactory.decodeFileDescriptor(fileDescriptor);
            image = ExifUtil.rotateBitmap(selectedImagePath, image);
            parcelFileDescriptor.close();
            if (cropCircle) {
                imageView.setImageBitmap(ImageUtils.cutCircle(image));
            } else {
                imageView.setImageBitmap(image);
            }
            return image;
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
Run Code Online (Sandbox Code Playgroud)