Android: decodeFile siempre devuelve nulo para el archivo en almacenamiento interno

Tengo un archivo guardado localmente en el almacenamiento privado de la aplicación. He verificado que existe, sin embargo, cada vez que llamo BitmapFactory.decodeFile siempre devuelve nulo.

Si guardo el archivo como un recurso y uso ImageView setImageResource, siempre aparece bien.

¿Cuál es el problema

Aquí está el fragmento:

filename = "test.png";

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

También he intentado:

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

Respuestas a la pregunta(6)

Su respuesta a la pregunta