Этот код работает для меня. Хотя для некоторых изображений он возвращает 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;
}