例如想从MediaProvider检索出图片路径+Thumbnail路径
String[] projection = {
MediaStore.Images.ImageColumns._ID,
MediaStore.Images.ImageColumns.DATA,
"(SELECT _data FROM thumbnails WHERE thumbnails.image_id =images._id) AS thumbnail",
};
Uri uri = MediaStore.Images.Media.getContentUri("external");
Cursor c = MediaStore.Images.Media.query(this.getContentResolver(), uri, projection, null,"_id");
while(c.moveToNext()) {
Log.i("zhangrl", ""+c.getLong(c.getColumnIndexOrThrow("_id"))
+ "|" + c.getString(c.getColumnIndexOrThrow("_data"))
+ "|" + c.getString(c.getColumnIndexOrThrow("thumbnail"))
);
}
关键在于在projection中加如:
"(SELECT _data FROM thumbnails WHERE thumbnails.image_id =images._id) AS thumbnail",
输出结果如下:
17|/mnt/sdcard/DCIM/100MEDIA/IMAG0035.jpg|/mnt/sdcard/DCIM/.thumbnails/1328193111196.jpg
19|/mnt/sdcard/DCIM/100MEDIA/IMAG0037.jpg|/mnt/sdcard/DCIM/.thumbnails/1328193111537.jpg
20|/mnt/sdcard/DCIM/100MEDIA/IMAG0038.jpg|/mnt/sdcard/DCIM/.thumbnails/1328193111910.jpg
21|/mnt/sdcard/DCIM/100MEDIA/IMAG0039.jpg|/mnt/sdcard/DCIM/.thumbnails/1328193112151.jpg