Как использовать MediaStore.Images.Thumbnails.query? - PullRequest
3 голосов
/ 22 июля 2011

См. http://developer.android.com/reference/android/provider/MediaStore.Images.Thumbnails.html

Я пытаюсь последними тремя способами получить миниатюру от Ури.

Но курсор остается нулевым.Пожалуйста, помогите, как его использовать?В основном я хочу получить миниатюрное изображение (созданное Android) из изображения, хранящегося на SDCard.

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 голосов
/ 28 мая 2012

Сделайте запрос к ContentResolver, чтобы получить ваши миниатюры

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

Вы можете получить photoId из его URI, чтобы получить URI из имени файла, просто создайте File и проанализируйте URI из него

Uri uri = Uri.fromFile(file);
0 голосов
/ 08 августа 2011

ну, вы должны позвонить cursor.moveToNext() после запроса.

...