/** * @param $context * @param path /storage/emulated/0/DCIM/Human/20141013145846.jpg * @return bitmap or null */ private Bitmap getThumbnail(Context $context, String path) { Cursor cursor = $context.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[] { MediaStore.MediaColumns._ID }, MediaStore.MediaColumns.DATA + "=?", new String[] { path }, null); if (cursor != null && cursor.moveToFirst()) { int id = cursor.getInt(cursor.getColumnIndex(MediaStore.MediaColumns._ID)); cursor.close(); return MediaStore.Images.Thumbnails.getThumbnail($context.getContentResolver(), id, MediaStore.Images.Thumbnails.MINI_KIND, null); } cursor.close(); return null; }
dcim 의 사진을 표시해야하는데, 그냥 보여주면 속도도 느리고 out of memory 에러도 뜬다.
그래서 dcim/.thumbnail/ 에 있는 썸네일 사진을 가져와서 보여주면 편하다.
MINI_KIND 가 MICRO_KIND 보다 사진이 더 크다.