繁体   English   中英

在android中获取可移动SD卡路径

[英]get removable sd card path in android

如何在android中获取extSdcard路径?

有 2 个存储,第一个外部存储,所有手机都拥有它,第二个存储称为可移动存储(微型 sdcard)。

我想在android中获取micro sdcard的路径,这怎么可能?

从 KitKat 开始,您可以访问获取该目录的方法:

Context.getExternalFilesDirs()

请注意,如果在访问过程中未安装或移动 SD 卡,它可能会返回 null。 此外,您可能需要将这些权限添加到您的清单文件中:

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

显然有些用户在使用这种方法时遇到了问题,没有返回 SD 卡路径。 我在这篇文章中找到了一些关于它如何工作以及它如何不依赖于设备的有用信息。

检查此https://developer.android.com/guide/topics/data/data-storage.html#filesExternal以获取完整参考,因为您需要定义读取和写入外部 SD 的权限,上述链接中也有代码在执行任何操作之前检查 SD 卡是否可用

以下对我有用!

File[] Dirs = ContextCompat.getExternalFilesDirs(this.getApplicationContext(), null);
File path = (Dirs[1]);
String pathSD = Dirs[1].toString();
int firstOpen = pathSD.indexOf("/");
int secondOpen = pathSD.indexOf("/", firstOpen + 1);
int thirdOpen = pathSD.indexOf("/", secondOpen + 1);
String filename = pathSD.substring(firstOpen, thirdOpen + 1);
path = new File(filename);

从 API 级别 24 开始,您可以使用 StorageManager 类:

https://developer.android.com/reference/android/os/storage/StorageManager#getStorageVolumes()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM