繁体   English   中英

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

[英]Make images and folder invisble to Gallery saved on SDcard?

嗨,我想让图像对 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();
            }
}

是的,用你想要的任何扩展名保存它,甚至没有扩展名。

在您的应用程序中,只需将其作为普通图像文件读取即可。

在名为“.nomedia”的图像存储文件夹中创建一个空文件<-注意初始点。 此文件夹内的所有媒体文件都不会显示在画廊浏览器中。

使用自定义扩展名重命名这些文件,例如 filename.extension.customextension

像 hello.avi.topsecret。

当您需要文件准备好模式播放时,将其重命名为正确的扩展名,播放并重命名。

这应该对你有用。

要么

使用点“.”作为文件夹名称的前缀。

查看这些链接以获取更多信息:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM