我使用下面的代码将摄像头意图中的图像保存到图库中的文件夹中,该文件夹效果很好。当我被问到时,我想检索要在活动中的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);
}
});
}
答案 0 :(得分: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();
}
希望这有助于并享受您的工作。