java - 了解SD卡路径Android的最佳方法

标签 java android

我需要知道大多数设备中的 SD 卡路径。我实际使用时遇到一些问题:

 Environment.getExternalStorageDirectory();

但有些手机无法返回正确的路径...我不知道为什么。

检查不同设备和操作系统版本的 SD 卡路径的最佳方法是什么?

最佳答案

Android 中没有“SD 卡路径”。

目前,Android 有内部存储和外部存储,仅此而已。 Environment.getExternalStorageDirectory();返回外部存储的根。外部存储是否为:

  • 与用于内部存储的板载闪存位于同一分区上,或者
  • 位于板载闪存的单独分区上,或者
  • 是一些可移动驱动器,例如 microSD 卡,或者
  • 完全是另一回事

由设备制造商决定。

同样,如果设备制造商提供额外的数据存储(例如,除了作为板载闪存一部分的外部存储之外,还提供可移动卡),那么现在这些额外的数据存储仅供设备制造商专用。该制造商可能会选择记录您如何使用它们,或者制造商可能会将这些数据存储与您可以访问的其他内容集成(例如,通过索引拥有多媒体文件并通过 MediaStore 访问)。

您可以在the documentation on external storage中阅读更多相关信息。 .

所以,根据定义,Environment.getExternalStorageDirectory(); 代表外部存储的“正确路径”。

关于java - 了解SD卡路径Android的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19248510/

相关文章:

java - Swing 窗口监听器线程问题

android - 在android中从服务器异步获取图像?

java - FirebaseMessagingService onMessageReceived() 未执行

java - 如何将参数发送到 Sqlite 查询中的 where 子句

android - 捕获或检测 ANR 异常

android - 在osm map osmdroid上绘制图像

java - @bean 和@Autowired 是如何工作的?

java - 随机化字符串数组,但不重复元素

Java树递归参数问题

java - Spring Data Rest 资源处理失败