据我所知
File directory = new File(
android.os.Environment.getExternalStorageDirectory()
+ File.separator + "100ANDRO");
将获取图像目录,但我担心如果某些手机有不同的目录然后它不会工作,有没有直接的方式,android api为我们提供了获取所有图像路径而无需硬编码目录名称 100ANDRO ?
提前致谢。
答案 0 :(得分:1)
您可以使用MediaStore.Images.Media.EXTERNAL_CONTENT_URI
,它只是外部存储。对于内部存在MediaStore.Images.Media.INTERNAL_CONTENT_URI
。您可以使用MergeCursor来合并查询结果。
主要是使用MediaStore
类,Media provider
类包含内部和外部存储设备(例如SD卡)上所有可用媒体的数据。适配器用作数据和视图之间的桥梁。
答案 1 :(得分:0)
ArrayList fileList = new ArrayList();
// Pass directory path to this function and it will return the files
public ArrayList<File> getfile(File dir) {
File listFile[] = dir.listFiles();
if (listFile != null && listFile.length > 0) {
for (int i = 0; i < listFile.length; i++) {
if (listFile[i].isDirectory()) {
// fileList.add(listFile[i]);
getfile(listFile[i]);
} else {
if(listFile[i].getName().endsWith(".jpg")
|| listFile[i].getName().endsWith(".png")
|| listFile[i].getName().endsWith(".jpeg")
|| listFile[i].getName().endsWith(".gif")
)
{
fileList.add(listFile[i]);
}
}
}
}
return fileList;
}