我正在尝试在包含图像(内部和外部存储)的Android设备上查找所有目录。
基本上,我尝试获取本机库应用程序中列出的所有目录
因此,例如:
所有图片
资料下载
我最喜爱的
Whatsapp的照片
...
如何做到这一点?我认为它与MediaStorage.Images.Media等有关,但是该文档在这里不是很有帮助,很多Google搜索也没有帮助。
最佳答案
感谢@BlazingFire,他没有完全回答我的问题,但是提供了一些我可以使用的代码,现在我得到了想要的结果:
public ArrayList<String> getFile(File dir) {
File listFile[] = dir.listFiles();
if (listFile != null && listFile.length > 0) {
for (File file : listFile) {
if (file.isDirectory()) {
getFile(file);
}
else {
if (file.getName().endsWith(".png")
|| file.getName().endsWith(".jpg")
|| file.getName().endsWith(".jpeg")
|| file.getName().endsWith(".gif")
|| file.getName().endsWith(".bmp")
|| file.getName().endsWith(".webp"))
{
String temp = file.getPath().substring(0, file.getPath().lastIndexOf('/'));
if (!fileList.contains(temp))
fileList.add(temp);
}
}
}
}
return fileList;
}
仅添加图像的父目录,并且仅当它们尚未添加时才添加。我还包括.bmp和.webp作为有效的图像文件扩展名