BitmapFactory.decodeFile()返回null值

时间:2015-05-19 12:56:12

标签: android imageview bitmapfactory

在我的应用程序中,我从图库中选择图像并将其设置为图像视图。问题是图像未在图像视图中显示。我已经调试但是应用程序的概率,所以我发现方法BitmapFactory.decodeFile(“image path”)返回null值,即使我得到的路径完全正常。

代码

case R.id.imageView:

                intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                startActivityForResult(intent, GALLERY_CODE);

                break;

if (requestCode == GALLERY_CODE && resultCode == RESULT_OK && null != data) {
            Uri selectedImage = data.getData();
            String[] filePathColumn = {MediaStore.Images.Media.DATA};

            Cursor cursor = getContentResolver().query(selectedImage,
                    filePathColumn, null, null, null);
            cursor.moveToFirst();

            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
            String picturePath = cursor.getString(columnIndex);
            cursor.close();
            Bitmap image = BitmapFactory.decodeFile(picturePath);
            ivImage.setImageBitmap(image);
        }
    }

我不知道为什么会这样。 请帮帮我

2 个答案:

答案 0 :(得分:0)

你是否在你的清单文件下面给了minSdk和maxSdk

以下的许可
<uses-feature
    android:name="android.hardware.camera"
    android:required="true" />

答案 1 :(得分:0)

好的,所以我通过提供这些权限解决了这个问题。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>