缓存文件夹中的nomedia文件(Android)

时间:2011-08-15 05:07:52

标签: java android multimedia

我正在尝试使用以下代码

将.nomedia文件创建到缓存文件夹中
private static final String NOMEDIA_FILE = ".nomedia";
    path = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/Android/data/"+cnt.getApplicationInfo().packageName+"/cache/");
    path.mkdirs();

    file= new File(path,NOMEDIA_FILE);
    if (!file.exists()){
        try {
            file.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

file.createNewFile()返回true,稍后file.exists()返回true,但文件不会显示在文件夹中。如果我使用其他路径,snipplet工作。媒体扫描中是否自动忽略缓存文件夹?如果没有,我怎么能在那里制作.nomedia文件?

由于

2 个答案:

答案 0 :(得分:0)

该文件确实存在,但隐藏在默认目录列表中;这就是前缀(。)的作用。

通过启动 adb shell 并使用 ls -a 显示所有文件,从命令行确认。它看起来像这样:

C:\Users>adb shell
root@android:/ # cd /sdcard/learnpad
root@android:/sdcard/learnpad # ls -a
.nomedia
data.learnpad.co
profile.xml

答案 1 :(得分:0)

该文件确实存在。

这是您的文件资源管理器的设置,用于确定您是否可以看到隐藏文件夹。

只需打开文件资源管理器,转到设置,然后启用“显示隐藏文件夹”