android获取所有设备的所有外部存储路径

标签 android storage android-sdcard android-external-storage

getExternalStorageDirectory() 返回我手机上的 SD 卡 路径。 (华为 Y320 - 安卓 4.2.2)。

现在,如何获取所有设备和所有 API 的 Phone Storage 路径?抢劫底部截图。

enter image description here

最佳答案

Android 21+:

val publicStorages = ContextCompat.getExternalFilesDirs(this, null).mapNotNull {
    it?.parentFile?.parentFile?.parentFile?.parentFile
}

// paths:
// /storage/emulated/0 
// /storage/12F7-270F

Android 29+:

val volumeNames = MediaStore.getExternalVolumeNames(context).toTypedArray()

val phoneSdCard: String = volumeNames[0]
// external_primary == /storage/emulated/0

val removableMicroSdCard: String = volumeNames[1]
// 12f7-270f == /storage/12F7-270F

关于 29 岁以上的更多信息:MediaStore alternative for deprecated Context.externalMediaDirs?

关于android获取所有设备的所有外部存储路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39850004/

相关文章:

android - 无法在 Android 6.0 上获取 sdcard 真实路径

android - Android中如何判断sdcard是否挂载?

java - 在 Android 上,垃圾收集是按进程还是系统范围进行的?

java - 在 EditText 内写入

kubernetes - K8s 1.16:将镜像中的现有目录挂载到pv

java - 如何检查平板电脑是否插入了SD卡 : Android?

android - 在 AndroidManifest.xml 中添加 "WRITE_EXTERNAL_STORAGE"后仍然拒绝权限

java.lang.ExceptionInInitializerError | java.lang.ExceptionInInitializerError | java.lang.ExceptionInInitializerError由 : com. b.a.c.b 引起: 'com.b.a.b.a' 需要 'sequence' 属性

Android将文件保存到外部存储

java - Android 保存相机图片到本地存储