【问题标题】:Android hide image from user galleryAndroid从用户图库中隐藏图像
【发布时间】:2015-02-27 16:32:27
【问题描述】:

我正在使用以下 phonegap 构建插件:

com.chanthu.evri.gcs-file-transfer version="1.0.0"

在设备上下载图像。下载正常,但图像在用户的标准图库 myApp 文件夹中可见。如何在不创建此类画廊的情况下保存图像?

我用来保存它们的路径是:

cdvfile://localhost/persistent/myApp/

android设备上的路径变成:

/sdcard0/myApp/

【问题讨论】:

    标签: android web gallery phonegap-build file-transfer


    【解决方案1】:

    您必须使用以下代码创建一个 .nomedia 文件并将其放入 myApp 文件夹。

      try
        {
            File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/myApp");
            if(!dir.exists())
            {
                dir.mkdirs();
                String filenameForNoMedia4 = Environment.getExternalStorageDirectory().getAbsolutePath()+".nomedia";
                FileOutputStream outForNoMedia4 = new FileOutputStream(filenameForNoMedia4);
    
            }
        }
        catch (Exception e)
        {
    
        }
    

    但是为此您需要添加对 androidManifest.xml 文件的权限

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    

    【讨论】:

    • 这个答案很旧,但添加 .nomedia 确实可以解决问题。附带说明一下,在将任何图像写入目录之前,请确保添加 .nomedia 文件。扫描图像后添加.nomedia 文件,可能需要重启手机/重新扫描目录才能正常工作
    【解决方案2】:

    Android 是 Linux,因此在 Linux 中隐藏文件和文件夹的任何方法也适用于 Android。

    如果您想隐藏所有文件夹中的数据,只需将.nomedia 文件添加到该文件夹​​即可。但是,如果您想隐藏特定文件,只需在其名称前添加 .

    FOLDER 1 
    |
    -- .file1.txt
    -- file2.txt
    -- FOLDER 2
       |
       -- .nomedia
       -- file3.txt
       -- file4.txt  
    

    在上述场景中,FOLDER 2下的所有内容都被隐藏了,只有FOLDER 1中的file1被隐藏了。

    【讨论】:

      【解决方案3】:

      创建一个 .nomedia 文件并将其放在您存储图像的文件夹中。

      此文件隐藏文件夹及其年龄,使其不会显示在图库中

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-18
        相关资源
        最近更新 更多