我正在尝试获取所有存储(本地和外部)的安装点。
在我升级到 4.3 之前,这很有效:
我知道这些坐骑只能读取,但没关系。我也知道在 4.3+ 中仍然可以发现挂载,因为 ES File Explorer 应用程序可以找到挂载点。
我正在尝试获取所有存储(本地和外部)的安装点。
在我升级到 4.3 之前,这很有效:
我知道这些坐骑只能读取,但没关系。我也知道在 4.3+ 中仍然可以发现挂载,因为 ES File Explorer 应用程序可以找到挂载点。
确保您至少有权从外部存储中读取,然后尝试以下操作:
科特林:
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
}