获取android MINI_KIND缩略图的字节数组

时间:2015-03-23 18:52:52

标签: android thumbnails

我想知道是否可以直接获取android MINI_KIND缩略图的字节数组(获取位图然后编码它会起作用,但我想直接得到它。)

来自Android的API http://developer.android.com/reference/android/provider/MediaStore.Images.Thumbnails.html

看起来我们只能获取Bitmap。但希望还有另一种方法可以直接获得它。

感谢。

1 个答案:

答案 0 :(得分:0)

以下代码适用于我。虽然它对某些图像返回null。

private static String getDeviceThumbnailUri(String sImagePath, Context context){
        String[] projection = { MediaStore.Images.Media._ID };
        String result = null;
        Cursor cursor = context.getContentResolver().query(MediaStore.Images.Media.getContentUri("external"),
                projection, MediaStore.Images.ImageColumns.DATA + " LIKE ?", new String[] { sImagePath }, null);
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID);
        cursor.moveToFirst();
        long imageId = cursor.getLong(column_index);
        cursor.close();

        cursor = MediaStore.Images.Thumbnails.queryMiniThumbnail(
                context.getContentResolver(), imageId,
                MediaStore.Images.Thumbnails.MINI_KIND,
                null);
        if (cursor != null && cursor.getCount() > 0) {
            cursor.moveToFirst();
            result = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Thumbnails.DATA));
        }
        if (cursor!=null) {
            cursor.close();
        }
        return result;
    }