listFiles() 在可移动存储上返回 null

问题描述

我想从 OTG USB 读取数据,但 listFiles() 什么都不返回。 我能够获得可移动存储的路径,但无法访问文件

AndroidManifest

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

主活动

private fun getReadPermission() {
    val permissions = arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE)
    requestPermissions(permissions,PERMISSION_READ_STORAGE)
}

private fun read() {
    fileList = ArrayList()
    val volumes = this.getExternalFilesDirs(null)
    val path = volumes[1]
    val dir = File("$path/")
    readUSB(dir)
}

private fun readUSB(dir: File) {

    val files = dir.listFiles()

    files?.forEach {
        if (it.isDirectory) {
            readUSB(it)
        } else {
            fileList.add("${it.absolutePath}")

        }

    }

    binding.files.text = fileList.toString()

}

解决方法

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

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

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