首页 > 解决方案 > 从用户手机中检索图像

问题描述

我创建了一个功能性图片库,可以从用户的手机中获取照片并将其显示在recyclerview. 一切正常,但是,似乎我用来检索此数据的方法仅限于 API 级别 29。该应用程序适用于 API 21 及更高版本的设备。如何调整此代码以适应这种情况?

RetrieveImgaes.java

public class SelectImagesGallery {

  public static ArrayList < String > listOfImages(Context context) {

    Uri uri;
    Cursor cursor;
    int column_index_data, column_index_folder_name;
    ArrayList < String > listOfAllImages = new ArrayList < > ();
    String absolutePathOfImage;
    uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;

    String[] projection = {
      MediaStore.MediaColumns.DATA,
      MediaStore.Images.Media.BUCKET_DISPLAY_NAME
    };

    String orderBy = MediaStore.Video.Media.DATE_TAKEN;
    cursor = context.getContentResolver().query(uri, projection, null, null, orderBy + " DESC");

    column_index_data = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA);

    // Get folder name
    // column_index_folder_name = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.BUCKET_DISPLAY_NAME);

    while (cursor.moveToNext()) {
      absolutePathOfImage = cursor.getString(column_index_data);
      listOfAllImages.add(absolutePathOfImage);
    }


    return listOfAllImages;
  }

标签: javaandroid

解决方案


推荐阅读