Android Studio仅从内部存储加载照片

问题描述

我正在创建一个Android USB备份应用程序。我正在尝试加载当前在移动设备上的所有照片。我正在对查询使用内容解析器。

suspend fun getPhotos(): List<PhotoFile> {
    val photos = mutableListOf<PhotoFile>()

    val projection = arrayOf(
        MediaStore.Images.Media._ID
    )

    val sortOrder = "${MediaStore.Images.Media.DATE_ADDED} ASC"

    val query = application.contentResolver.query(
        MediaStore.Images.Media.EXTERNAL_CONTENT_URI,projection,null,sortOrder
    )

    query?.use { cursor ->
        val idColumn = cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID)

        while (cursor.moveToNext()) {
            val id = cursor.getLong(idColumn)
            val uri: Uri = ContentUris.withAppendedId(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,id)

            // Add to photos list
        }
    }

    return photos
}

我的问题是,这种查询还会返回已保存在USB设备上的照片。我正在尝试获取仅在设备的内存或SD卡上的照片。

有什么主意吗?

关于L

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...