Get thumbnail Uri/path of the image stored in sd card + android

前端 未结 8 692
自闭症患者
自闭症患者 2020-11-28 04:46

SDK version - 1.6

I am using following intent to open android\'s default gallery:

Intent intent = new Intent();
                inte         


        
8条回答
  •  死守一世寂寞
    2020-11-28 05:07

    Two variants without depricated methods.

     public String getThumbnailPath(Uri uri) {
        String[] proj = { MediaStore.Images.Media.DATA };
    
        // This method was deprecated in API level 11
        // Cursor cursor = managedQuery(contentUri, proj, null, null, null);
    
        CursorLoader cursorLoader = new CursorLoader(activity, uri, proj, null, null, null);
    Cursor cursor = cursorLoader.loadInBackground();
    
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID);
    
        cursor.moveToFirst();
        long imageId = cursor.getLong(column_index);
        //cursor.close();
        String result="";
        cursor = MediaStore.Images.Thumbnails.queryMiniThumbnail(activity.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));
            cursor.close();
        }
        return result;
    }
    public Bitmap getThumbnailBitmap(Uri uri){
        String[] proj = { MediaStore.Images.Media.DATA };
    
        // This method was deprecated in API level 11
        // Cursor cursor = managedQuery(contentUri, proj, null, null, null);
    
        CursorLoader cursorLoader = new CursorLoader(activity, uri, proj, null, null, null);
        Cursor cursor = cursorLoader.loadInBackground();
    
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID);
    
        cursor.moveToFirst();
        long imageId = cursor.getLong(column_index);
        //cursor.close();
    
        Bitmap bitmap = MediaStore.Images.Thumbnails.getThumbnail(
                getContentResolver(), imageId,
                MediaStore.Images.Thumbnails.MINI_KIND,
                (BitmapFactory.Options) null );
    
        return bitmap;
    }
    

提交回复
热议问题