1

我正在尝试获取所有存储(本地和外部)的安装点。

在我升级到 4.3 之前,这很有效:

查找外部 SD 卡位置

我知道这些坐骑只能读取,但没关系。我也知道在 4.3+ 中仍然可以发现挂载,因为 ES File Explorer 应用程序可以找到挂载点。

4

1 回答 1

0

确保您至少有权从外部存储中读取,然后尝试以下操作:

科特林:

fun getExternalRootFolders(): List<File> {
    return context.getExternalFilesDirs(null)
            .filter { canUseExternalPath(it) }
            .map { File(it.toString().substringBefore("/Android")) }
}

private fun canUseExternalPath(path: File?): Boolean {
    return path?.let { Environment.MEDIA_MOUNTED == EnvironmentCompat.getStorageState(path) } == true
}
于 2018-07-05T00:47:02.527 回答