【问题标题】:MEDIASTORE images, got nothingMEDIASTORE 图片,一无所获
【发布时间】:2022-01-19 05:39:01
【问题描述】:

我添加了读取文件的请求权限,在我的活动中尝试了这种方法,但没有任何显示,就像真实设备和模拟器中没有图像一样,我做错了什么?

    fun storaheread() {      
    val imageProjection = arrayOf(
      MediaStore.Images.Media.DISPLAY_NAME,
      MediaStore.Images.Media.SIZE,
      MediaStore.Images.Media.DATE_TAKEN,
      MediaStore.Images.Media._ID
    )
    val imageSortOrder = "${MediaStore.Images.Media.DATE_TAKEN} DESC"
    val cursor = contentResolver.query(
      MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
      imageProjection,
      null,
      null,
      imageSortOrder
    )
    cursor.use {
      it?.let {
        val idColumn = it.getColumnIndexOrThrow(MediaStore.Images.Media._ID)
        val nameColumn = it.getColumnIndexOrThrow(MediaStore.Images.Media.DISPLAY_NAME)
        val sizeColumn = it.getColumnIndexOrThrow(MediaStore.Images.Media.SIZE)
        val dateColumn = it.getColumnIndexOrThrow(MediaStore.Images.Media.DATE_TAKEN)
        while (it.moveToNext()) {
          val id = it.getLong(idColumn)
          val name = it.getString(nameColumn)
          val size = it.getString(sizeColumn)
          val date = it.getString(dateColumn)
          val contentUri = ContentUris.withAppendedId(
            MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
            id
          )
          // add the URI to the list
          // generate the thumbnail
//          val thumbnail = (this as Context).contentResolver.loadThumbnail(contentUri, Size(480, 480), null)
        Log.d("image name",name)
        }
      } ?: kotlin.run {
        Log.e("TAG", "Cursor is null!")
      }
    }
  }

【问题讨论】:

  • getColumnIndexOrThrow 会扔吗?
  • 不,不扔任何东西

标签: android mediastore


【解决方案1】:

你可以看看这个类似的问题,它可以帮助你实现这种情况。

Loading all the images from gallery into the Application in android

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-06
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多