Android如何在images目录下创建我们自己的文件夹?
我们有一个应用程序可以下载图像并将其存储在设备上。图像已存储,但在打开gallery时无法看到应用程序文件夹。下面是我们用来创建目录的代码:Android如何在images目录下创建我们自己的文件夹?,android,Android,我们有一个应用程序可以下载图像并将其存储在设备上。图像已存储,但在打开gallery时无法看到应用程序文件夹。下面是我们用来创建目录的代码: public File getDataFolder(Context context) { File dataDir = null; if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { dataDir = new File
public File getDataFolder(Context context) {
File dataDir = null;
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
dataDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + File.separator + "MYAPPNAME");
if(!dataDir.isDirectory()) {
dataDir.mkdirs();
}
}
if(!dataDir.isDirectory()) {
dataDir = context.getFilesDir();
}
return dataDir;
}
我们还注意到,文件夹在Jelly bean中可见,但在KitKat+设备中不可见。为什么它在画廊里不可见?(文件为.jpg格式)在Android Kitkat之前,第三方应用程序可以访问外部存储,但在Kitkat中,此权限被撤销。现在,您只能在设备的内部内存中存储数据。您是否尝试过使用getExternalFilesDirs() 使用getExternalFilesDirs()(注意复数形式)。如果返回多个条目,则第二个和后续条目位于可移动介质上。在Android 4.4上,您可以在没有任何权限的情况下读写这些目录 根据这个答案 编辑 如果重新启动后出现文件夹,则需要将图像添加到库中。从简单拍照教程():
当新文件在多媒体资料中可见而无需重新启动时,您必须在新文件上调用媒体扫描仪。保存文件后,请致电媒体扫描程序
只有几行代码可以。代码经常在这个网站上发布。但是我们可以看到像Whatsapp图片、OGQ墙纸、Deviantart等文件夹。。他们是怎么创造的?因为这句话不是真的。所有应用程序都可以使用外部存储来完成它们想要的任务。但对于可移动存储,访问受到限制。出于不适用于外部存储的安全原因。我还建议查看“简单拍照”教程,其中有一节介绍如何将照片添加到gallery,但在重新启动设备后,这些照片在gallery应用程序中可见<代码>文件夹可见。你是说在画廊里?也可以尝试使用文件资源管理器。当您第一次说图像已存储时,您的帖子和问题令人困惑。@greenapps重新启动后,它是如何出现的?如果不重新启动,它将不可见?文件夹是可见的果冻豆,是的,在厨房里,我们可以看到它。我们所说的“图像已存储”是因为图像下载后,我们可以将其传递给intent,这意味着图像正在下载和保存,但在gallery中不可见(无需重新启动)
private void galleryAddPic() {
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
File f = new File(mCurrentPhotoPath);
Uri contentUri = Uri.fromFile(f);
mediaScanIntent.setData(contentUri);
this.sendBroadcast(mediaScanIntent);
}