androidbitmapfactory

Android: decodeFile always returns null for file in internal storage


I have a file saved locally into the application's private storage. I have verified it exists, however whenever I call BitmapFactory.decodeFile it always returns null.

If I save the file as a resource and use ImageView.setImageResource, it always shows up fine.

What is the problem?

Here is the snippet:

filename = "test.png";

if (doesFileExist(filename))
    Bitmap bMap = BitmapFactory.decodeFile(filename);

I've also tried:

Bitmap bMap = BitmapFactory.decodeFile(getFilesDir().getPath()
                    + filename);

Solution

  • This question has been answered before such as here: BitmapFactory.decodeFile returns null even image exists

    This was exactly what I needed:

    String fname=new File(getFilesDir(), "test.png").getAbsolutePath();