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

Get byte array of android MINI_KIND thumbnail

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

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

看来只能获取Bitmap了。但希望有另一种方法可以直接获取它。

谢谢。

以下代码对我有用。虽然它 return 对某些图像无效。

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;
    }