如果我在android的某些设备上拍照并在我的应用程序上预览,图像就会旋转

如果我在android的某些设备上拍照并在我的应用程序上预览,图像就会旋转,android,android-image,Android,Android Image,我有这个代码来预览从手机加载的图像,问题是当我使用相机拍摄图像并将其加载到我的应用程序时,图像会旋转90度。是什么导致了这种行为?这是我的代码: private void addImageToGrid(String selectedImageUri) { Bitmap bitmap = getBitmapFromPath(selectedImageUri); BitmapFactory.Options options = new BitmapFactory.Options();

我有这个代码来预览从手机加载的图像,问题是当我使用相机拍摄图像并将其加载到我的应用程序时,图像会旋转90度。是什么导致了这种行为?这是我的代码:

 private void addImageToGrid(String selectedImageUri) {
    Bitmap bitmap = getBitmapFromPath(selectedImageUri);
    BitmapFactory.Options options = new BitmapFactory.Options();
    options.inSampleSize = 8;
    int bitmapWidth = 90;//bitmap.getScaledWidth(density);
    int bitmapHeight = 80;// bitmap.getScaledWidth(density);
    ImageItem imageItem = new ImageItem();
    imageItem.setImage(Bitmap.createScaledBitmap(bitmap, bitmapWidth, bitmapHeight, false));
    imageItem.setUri(selectedImageUri);
    gridViewAdapter.add(imageItem);

}

虽然一些android设备(或摄像头应用程序)确实会生成与设备方向相对应的位图(即横向与纵向),但其他设备始终使用横向位图,并且仅将方向信息放入打包到JPEG文件中的EXIF数据中。这取决于观看者是否正确显示图像。

因为有些设备会自动旋转相机,有些设备将只使用纵向,而其他仅使用横向。您必须检查图像您选择的是纵向还是横向,请验证宽度和高度

因此,首先检查
位图
方向并应用如下旋转:

您是否尝试过阅读以下内容: