【发布时间】:2013-01-01 08:37:25
【问题描述】:
我的问题是每当我保存位图时。我将一个保存在我想要的文件夹(MyFolder)中,一个保存在 DCIM/Camera 中。我没有看到任何使其保存在 DCIM 目录中的代码?
这是我的代码...
case R.id.menu_save:
try {
String path = Environment.getExternalStorageDirectory()
.toString();
File myNewFolder = new File(path + "/MyFolder");
myNewFolder.mkdirs();
OutputStream fOut = null;
File file = new File(path, "/MyFolder/HK" + filename + ".jpg");
fOut = new FileOutputStream(file);
newBitmap.compress(Bitmap.CompressFormat.JPEG, 85, fOut);
fOut.flush();
fOut.close();
MediaStore.Images.Media.insertImage(getContentResolver(),
file.getAbsolutePath(), file.getName(), file.getName());
Toast.makeText(getApplicationContext(),
filename + "Has been saved!", Toast.LENGTH_LONG)
.show();
} catch (Exception e) {
Toast.makeText(
getApplicationContext(),
"Problem to Save the File", Toast.LENGTH_LONG).show();
}
break;
【问题讨论】:
-
我相信
MediaStore.Images.Media.insertImage(getContentResolver(),file.getAbsolutePath(), file.getName(), file.getName())正在读取您通过fout保存的图像到您选择的路径并将其写入DCIM 文件夹 -
MediaStore.Images.Media.insertImage(getContentResolver(),file.getAbsolutePath(), file.getName(), file.getName()) 没错,当我删除该代码时问题解决了。如果您写为答案,我可以接受作为答案。谢谢。