我正在尝试使用以下代码
将.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文件?
由于
答案 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)
该文件确实存在。
这是您的文件资源管理器的设置,用于确定您是否可以看到隐藏文件夹。
只需打开文件资源管理器,转到设置,然后启用“显示隐藏文件夹”