我能否获取存储在安卓手机SD卡中的所有图片路径?此外,我能否检查SD卡或内部存储器中存储的其他图片?当前我的做法是这样的:
Cursor cur = this.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null,null);
startManagingCursor(cur);
cur.moveToFirst();
while (cur.moveToNext()) {
String str = cur.getString(cur.getColumnIndex(MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME));
Log.e("#########",str);
}
这似乎返回目录名称,我也见过这段代码:
File images = Environment.getDataDirectory();
File[] imagelist = images.listFiles(new FilenameFilter(){
public boolean accept(File dir, String name)
{
return ((name.endsWith(".jpg"))||(name.endsWith(".png")));
}
});
String []mFiles = new String[imagelist.length];
for(int i= 0 ; i< imagelist.length; i++)
{
mFiles[i] = imagelist[i].getAbsolutePath();
}
Uri[] mUrls = new Uri[mFiles.length];
for(int i=0; i < mFiles.length; i++)
{
mUrls[i] = Uri.parse(mFiles[i]);
Log.e("###############","MURIS: "+mUrls[i].getEncodedPath());
}
但是这会抛出一个空指针异常。
DCIM\Camera
这样的。因此,你会得到相机文件夹,但不会得到DCIM文件夹本身,因为相机文件夹是包含图像的文件夹,而DCIM文件夹包含包含图像的相机文件夹。这样说清楚了吗? - Kevin Coppock