在 android 中获取可移动 SD 卡路径
get removable sd card path in android
如何在 android 中获取 extSdcard 路径?
有两个存储,第一个是所有手机都有的外部存储,第二个是移动存储(micro sdcard)。
我想获取android中micro sdcard的路径,怎么可能?
从 KitKat 开始,您可以使用一种方法来获取该目录:
Context.getExternalFilesDirs()
注意,如果在访问过程中没有挂载或移动SD卡,它可能return为空。此外,您可能需要将这些权限添加到您的清单文件中:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
显然有些用户在使用此方法时遇到了问题,而不是 return设置 SD 卡路径。我在 .
上找到了一些关于它如何工作以及如何不工作的有用信息,具体取决于设备
检查此 https://developer.android.com/guide/topics/data/data-storage.html#filesExternal 以获得完整参考,因为您需要定义读取和写入外部 SD 的权限,上面还有代码 link 在执行之前检查 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 class:
https://developer.android.com/reference/android/os/storage/StorageManager#getStorageVolumes()
如何在 android 中获取 extSdcard 路径?
有两个存储,第一个是所有手机都有的外部存储,第二个是移动存储(micro sdcard)。
我想获取android中micro sdcard的路径,怎么可能?
从 KitKat 开始,您可以使用一种方法来获取该目录:
Context.getExternalFilesDirs()
注意,如果在访问过程中没有挂载或移动SD卡,它可能return为空。此外,您可能需要将这些权限添加到您的清单文件中:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
显然有些用户在使用此方法时遇到了问题,而不是 return设置 SD 卡路径。我在
检查此 https://developer.android.com/guide/topics/data/data-storage.html#filesExternal 以获得完整参考,因为您需要定义读取和写入外部 SD 的权限,上面还有代码 link 在执行之前检查 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 class:
https://developer.android.com/reference/android/os/storage/StorageManager#getStorageVolumes()