安卓系统:.nomedia文件被忽略,图片仍然出现在相册中。

13

我正在构建一个应用程序,它从网络下载图像并将它们存储到我的SD卡中。为了使它们在图库中不可见,我加入了这行代码以生成.nomedia文件:

FileWriter f = new FileWriter("/sdcard/Android/data/CopyImage/cache/.nomedia");

应用程序可以成功下载图像并在同一文件夹中创建.nodata文件,但问题是,该图像仍然出现在图库中。

怎么会这样呢? 有人能给我提供一个解决方案吗?

非常感谢。

3个回答

9
在文件夹名称前面添加“.”。
顺便问一下,哪款手机出现了这个问题。我猜测你在相册中看到的是旧的缓存文件。

1
使用CyanogenMod 7时,这不起作用...文件夹名称以点开头,并且存在.nomedia文件,当重新启动图库中不会显示图像,但是只要我进入文件夹并查看其中一个图像,整个内容即可出现在图库中,即使我从主屏幕打开图库。 - markuz
我猜你应该向CynogenMod报告这个问题,那里的工程师们会非常乐意修复它。 - the100rabh

8
文件必须是文件夹中的第一个文件,才能忽略其中的媒体。如果文件已经被索引,则只需将这些文件夹来回重命名(在中间打开画廊),然后就可以完成了。

1
如果您遇到.nomedia的问题并且没有编写应用程序,则此方法非常有用;例如,Teamspeak Android客户端会创建一个没有.nomedia文件的图标文件夹。您不能仅更改文件夹名称,但是如果文件夹已被索引,则.nomedia文件可能不会立即起作用。顺便说一下,“QuickPic”应用程序(在Play Store免费)具有隐藏文件夹的选项,可以为您生成.nomedia文件;Gallery可能仍然会忽略它,但QuickPic始终立即尊重.nomedia文件-还具有“显示隐藏”选项,以查看您以前隐藏但未删除.nomedia文件的文件夹。 - Doktor J
它运行良好,只需重命名该文件夹,打开画廊并再次返回以进行重命名,谢谢。 - Nullpointer

2

在创建了“.nomedia”文件之后,您必须重新启动手机,然后该文件夹中的图像将不会出现在相册中。


3
为什么要给这个答案点踩呢?虽然它能帮我解决问题,但并不是最佳方案。 - Veer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接