无法从 android Q 中的 Uri 加载视频缩略图

Unable to load video thumbnail from Uri in android Q

我试过这段代码。但无法再获得缩略图。 还尝试了不同的方法来获取缩略图。 我应该为 android Q 更改什么?

  private void getVideoList(){
            if (Build.VERSION.SDK_INT == Build.VERSION_CODES.Q) {
                String[] projection = new String[]{
                        MediaStore.Video.VideoColumns._ID,
                        MediaStore.Video.VideoColumns.DISPLAY_NAME,
                        MediaStore.Video.VideoColumns.DURATION,
                        MediaStore.Video.VideoColumns.SIZE,enter code here
                        MediaStore.Video.VideoColumns.DATA,`enter code here`
                };
                String selection = MediaStore.Video.Media.DURATION + " <= ?";
                String[] selectionArgs = new String[]{
                        String.valueOf(TimeUnit.MILLISECONDS.convert(30, TimeUnit.SECONDS))
                };

                String sortOrder = MediaStore.Video.Media.DATE_ADDED + " ASC";

                try (Cursor cursor = getApplicationContext().getContentResolver().query(
                        MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
                        projection,
                        selection,
                        selectionArgs,
                        sortOrder
                )) {





                    }
                }

            }
        }

使用此方法获取视频缩略图:

public static Bitmap getThumbVideo(Context context, Uri videoUri){
    Bitmap bitmap = null;
    MediaMetadataRetriever mediaMetadataRetriever = null;
    try {
        mediaMetadataRetriever = new MediaMetadataRetriever();
        mediaMetadataRetriever.setDataSource(context, videoUri);
        bitmap = mediaMetadataRetriever.getFrameAtTime(1000, MediaMetadataRetriever.OPTION_CLOSEST_SYNC);
    } catch ( Exception e) {
        e.printStackTrace();
    } finally {
        if (mediaMetadataRetriever != null) {
            mediaMetadataRetriever.release();
        }
    }
    return bitmap;
}

它适用于 Android 的所有当前版本。