1

我有一个包含大量图片的应用程序。由于图片数量较多,所以将全部图片保存在 SD 卡中。主要问题是图片在画廊中可用。我想要一种从图库中隐藏图片的方法,但必须可用于我的应用程序。

我确实在文件名前添加了“.”以使其隐藏,但图像也未显示在可能的应用程序中!

任何人..帮助..请

谢谢..

4

5 回答 5

3

Gallery 处理它知道的所有媒体文件,因此如果您希望它远离您的资产,您有两种解决方案。首先,将.nomedia文件添加到包含您的图像的文件夹中,画廊应该跳过它(大多数图像查看器会尊重.nomedia,但不能保证)。其他解决方案是使用一些自己的专有文件格式,因此 Gallery 或其他工具将无法处理它。.nomedia如果这是足够的解决方案,我会推荐。

于 2012-08-27T11:57:00.683 回答
1

将 .nomedia 文件添加到图像文件夹中。重要的是,当您添加 .nomedia 文件时,该文件夹应该是空的。如果文件夹中包含添加“.nomedia”文件之前的一些图像,图库不会隐藏这些图像,它会隐藏“.nomedia”文件之后添加的图像。所以添加到图像文件夹的第一个文件应该是“.nomedia”。

希望dis对你有帮助

谢谢,

于 2013-09-05T13:37:12.293 回答
1

这行代码可以在您的目录中添加 .nomedia 文件,并使您的图像从图库中隐藏

字符串 NOMEDIA=".nomedia";

文件夹 = 新文件(Environment.getExternalStorageDirectory() + "/mydir"); if(Folder.mkdir()) { nomediaFile = new File(Environment.getExternalStorageDirectory() + "/mydir/"+ NOMEDIA); if(!nomediaFile.exists()){ nomediaFile.createNewFile(); } }

于 2016-06-02T04:59:04.013 回答
0

我认为保存图像的位置很重要,请尝试将它们保存到应用程序缓存目录或文件目录中。

您可以使用 :getCacheDir()在您的活动中访问缓存目录。和你的文件目录:getFilesDir()

这两个目录不能被任何其他应用程序(期望您的应用程序)可见或访问,

于 2012-08-27T12:37:40.217 回答
0

我在我的应用程序中使用资产来实现这一点。

于 2012-08-28T03:51:08.493 回答