如何获取外部存储装入点

时间:2014-04-02 18:37:22

标签: android android-external-storage

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

这很有效,直到我去了4.3:

Find an external SD card location

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

1 个答案:

答案 0 :(得分: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
}