【发布时间】:2018-04-11 06:23:36
【问题描述】:
您好,我正在尝试使用户无法访问从我的应用中捕获的图像。首先,我尝试将这些图像保存到不起作用的内部存储中。然后我尝试使用“。”隐藏它们。在文件夹名称前面。我不确定这样做的正确方法是什么。我还尝试创建一个名为 .nomedia 的文件来绕过媒体扫描仪。我对执行此操作的正确方法感到非常困惑。这是我的代码:
public String getImageUri(Context inContext, Bitmap inImage) {
/* *//* ByteArrayOutputStream bytes = new ByteArrayOutputStream();
inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, ".title", null);
return Uri.parse(path);*//*
*/
File file = new File(Environment.getExternalStorageDirectory()
+ File.separator + "/.myFolder");
file.mkdirs();
File mFile = new File(Environment.getExternalStorageDirectory()
+ File.separator + "/.nomedia");
mFile.mkdirs();
FileOutputStream fOut = null;
try {
fOut = new FileOutputStream(file);
inImage.compress(Bitmap.CompressFormat.JPEG, 85, fOut);
fOut.flush();
fOut.close();
uri = MediaStore.Images.Media.insertImage(getContentResolver(), file.getAbsolutePath(), file.getName(), file.getName());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return uri;
}
如果我使用 file.mkdirs(),我会得到 filenotfoundexception。如果我删除该行,我不会收到任何错误,但我的 uri 是空的。
上述函数是否也返回文件路径?我稍后需要文件路径和uri。任何帮助表示赞赏。
【问题讨论】:
-
从相机捕获后,您将这些文件存储在哪里?可以指定路径吗?
-
我认为这是我文件的路径。Environment.getExternalStorageDirectory() + File.separator + "/.myFolder"