使图片仅适用于我的Android应用程序

时间:2012-08-27 11:54:17

标签: android image gallery private sd-card

我有一个有大量图片的应用程序。由于图像数量较多,总图像保存在SD卡中。主要问题是图片可在图库中找到。我想要一种方法来隐藏图片库中的图片,但必须可以用于我的应用程序。

我确实在文件名前放了“。”以隐藏它 但是这些图像也没有在may应用程序中显示出来!

任何人......帮助..请

感谢..

5 个答案:

答案 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();       }    }