如何使用MediaStore.Images.Thumbnails.query?

时间:2011-07-22 05:00:27

标签: android cursor thumbnails mediastore

请参阅http://developer.android.com/reference/android/provider/MediaStore.Images.Thumbnails.html

我正在尝试最后三种方法从Uri获取缩略图。

但是Cursor仍为null。请帮忙怎么用?基本上我想从存储在SD卡上的图像中获得微型缩略图(由android生成)。

Cursor cursor = MediaStore.Images.Thumbnails.query(getContentResolver(),
        Uri.parse("file://" + "/mnt/sdcard/DCIM/Camera/IMG_20110722_101000.jpg"), null);
if (cursor != null) {
    Log.d("sf","Sfsfs");
}

还尝试了以下一个:

Cursor cursor = MediaStore.Images.Thumbnails.queryMiniThumbnails(getContentResolver(),
        Uri.parse("file://" + "/mnt/sdcard/DCIM/Camera/IMG_20110722_101000.jpg"), MediaStore.Images.Thumbnails.MICRO_KIND, null);
if (cursor != null) {
    Log.d("sf","Sfsfs");
}

我没有尝试任何需要long origId作为参数的方法,因为我只有路径而非ID。

2 个答案:

答案 0 :(得分:0)

查询ContentResolver以获取缩略图

Cursor thumbnails = contentResolver.query(Thumbnails.EXTERNAL_CONTENT_URI, null, Thumbnails.IMAGE_ID + "=?", new String[]{String.valueOf(photoId)}, null);

你可以从它的URI获取photoId,从文件名中获取URI只需创建文件并从中解析URI

Uri uri = Uri.fromFile(file);

答案 1 :(得分:-4)

好吧,你应该在查询后调用cursor.moveToNext()