0

我使用下面的代码将从相机意图拍摄的图像保存到图库中的文件夹中,效果很好。当被问到时,我想检索图像以显示在活动中的 ImageView 上,尽管在尝试了各种方法/代码之后,到目前为止没有任何效果。鉴于用于保存图像的路径/代码,有人可以指出我如何将其取回的正确方向。在此先感谢 - 吉姆。

public void SaveImage(Context context,Bitmap ImageToSave, String fileName){ 
    TheThis = context; 
    String file_path = Environment.getExternalStorageDirectory()+ NameOfFolder; 
   // String CurrentDateAndTime= getCurrentDateAndTime(); 
    File dir = new File(file_path); 

    if(!dir.exists()){ 
        dir.mkdirs(); 
    } 

    File file = new File(dir, fileName + ".jpg"); 

    try { 
        FileOutputStream fOut = new FileOutputStream(file); 
        ImageToSave.compress(Bitmap.CompressFormat.JPEG, 100, fOut); 
        fOut.flush(); 
        fOut.close(); 
        MakeSureFileWasCreatedThenMakeAvabile(file); 
        AbleToSave(); 

    }  
    catch (FileNotFoundException e) {UnableToSave();} 
    catch (IOException e){UnableToSave();}        

} 

private void MakeSureFileWasCreatedThenMakeAvabile(File file) { 
    MediaScannerConnection.scanFile(TheThis, 
            new String[] { file.toString() }, null, 
            new MediaScannerConnection.OnScanCompletedListener() { 
        public void onScanCompleted(String path, Uri uri) { 
            Log.e("ExternalStorage", "Scanned " + path + ":"); 
            Log.e("ExternalStorage", "-> uri=" + uri); 

        } 
    }); 

}
4

1 回答 1

1

如果您有正确的路径和权限,这里的代码对我来说非常适合

File rootsd = Environment.getExternalStorageDirectory();
String rootPath = rootsd.getAbsolutePath();
String pathName = rootPath + "your path here" + "image name here"; 
try {           
Drawable d = Drawable.createFromPath(pathName);
layout.setBackgroundDrawable(d);
} catch (Exception e) {
e.printStackTrace();
}

希望这对您有所帮助并享受您的工作。

于 2013-05-15T10:40:42.260 回答