我有一个有大量图片的应用程序。由于图像数量较多,总图像保存在SD卡中。主要问题是图片可在图库中找到。我想要一种方法来隐藏图片库中的图片,但必须可以用于我的应用程序。
我确实在文件名前放了“。”以隐藏它 但是这些图像也没有在may应用程序中显示出来!
任何人......帮助..请
感谢..
答案 0 :(得分:2)
图库处理它所知道的所有媒体文件,因此如果您希望它远离您的资产,您将获得两个解决方案。首先,将.nomedia
文件添加到包含图片的文件夹中,而Gallery应跳过它(大多数图片查看者都会尊重.nomedia
,但不能保证)。其他解决方案是使用一些自己的专有文件格式,因此Gallery或其他工具将无法处理它。如果这是足够的解决方案,我会建议.nomedia
答案 1 :(得分:0)
我认为保存图像的地方很重要,请尝试将它们保存到应用程序缓存目录或文件目录中。
您可以使用活动中的getCacheDir()
访问缓存目录。
和您的文件目录:getFilesDir()
这两个目录不得对应用程序的任何其他应用程序可见或访问,
答案 2 :(得分:0)
我在我的应用中使用资产来完成此任务。
答案 3 :(得分:0)
将.nomedia文件添加到图像文件夹中。重要的是,当您添加.nomedia文件时,该文件夹应为空。如果文件夹在添加“.nomedia”文件之前包含一些图像,则图库将不会隐藏这些图像,并且它将隐藏在“.nomedia”文件之后添加的图像。所以添加到图像文件夹的第一个文件应该是'.nomedia'。
希望dis会帮助你
Thankx,
答案 4 :(得分:0)
这行代码可以在您的目录中添加.nomedia文件,并使您的图像隐藏在图库中
String NOMEDIA =" .nomedia&#34 ;;
文件夹=新文件(Environment.getExternalStorageDirectory()+" / mydir"); if(Folder.mkdir()){ nomediaFile =新文件(Environment.getExternalStorageDirectory()+" / mydir /" + NOMEDIA); 如果(!nomediaFile.exists()){ nomediaFile.createNewFile(); } }