使图像和文件夹对SD卡上保存的图库不可见?

时间:2011-09-15 09:18:05

标签: java android image gallery sd-card

您好我想让Android图库或任何第三方图库应用程序看不到图片,图片将放在SD卡上的特定文件夹中。

例如,我有以下代码将图像保存到名为myimages的文件夹中。我只是希望任何图库应用程序都不能看到存储在myimages文件夹中的图像,只有我自己的应用程序才能访问这些图像。

void saveBitmap(Bitmap bmp)
{
    FileOutputStream os;
    String dirName = "/mvc/mvc/myiamges/";
            try {  
                if (android.os.Environment.getExternalStorageState().equals(
                        android.os.Environment.MEDIA_MOUNTED)){
                    String root = Environment.getExternalStorageDirectory()
                                          .toString();
                    File dir = new File (root + dirName);

                    boolean created=dir.mkdirs();
                    //File file = new File(this.getExternalFilesDir(null), 
                            //                     this.dirName+fileName); 
                            //this function give null pointer exception so im 
                            //using other one
                    File file = new File(dir, "aeg2.png");
                    os = new FileOutputStream(file);
                }else{
                    os = openFileOutput("aeg2.png", MODE_PRIVATE);
                }
                bmp.compress(CompressFormat.PNG, 100, os);

                os.flush();
                os.close();
            }catch(Exception e){
                e.printStackTrace();
            }
}

3 个答案:

答案 0 :(得分:0)

使用自定义扩展名(如filename.extension.customextension

)重命名这些文件

喜欢hello.avi.topsecret。

如果您需要将文件设置为就绪模式,请将其重命名为正确的扩展名,然后播放并重命名。

这应该适合你。

用点“。”前缀您的文件夹名称。

请查看以下链接以获取更多信息:

http://www.makeuseof.com/tag/hide-private-picture-folders-gallery-android/

答案 1 :(得分:0)

是的,请使用您想要的任何扩展程序保存,甚至不使用扩展名。

在您的应用中,只需将其作为普通图片文件阅读。

答案 2 :(得分:0)

在图像存储文件夹中创建一个名为'.nomedia'的空文件<-注意起始点。 该文件夹中保存的所有媒体文件都不会在galery浏览器中显示。