【问题标题】:get removable sd card path in android在android中获取可移动的sd卡路径
【发布时间】:2016-07-12 09:31:29
【问题描述】:

如何在 android 中获取 extSdcard 路径?

有 2 个存储,第一个是所有手机都有的外部存储,但还有第二个存储,称为可移动存储(micro sdcard)。

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

【问题讨论】:

    标签: java android io storage


    【解决方案1】:

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

    Context.getExternalFilesDirs()
    

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

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

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

    【讨论】:

    • kitkat下面有什么办法吗?安卓 4.2+
    • 您可能会在这里找到解决方案:stackoverflow.com/questions/11281010/…。此外,mani 在他的回答中提供的链接似乎也包含有价值的信息。
    • 这将返回模拟的内部存储器,而不是可移动的 SD 卡。
    • @TomKincaid 是正确的。这不会获得可移动 SD 卡路径。这是如何被接受的答案?!
    • 只有在手机制造商允许(或没有忘记)的情况下,此方法才会返回 sd 卡路径。该方法返回一个目录数组,第一个是内部存储的一部分,配置为“外部”,第二个是可移动路径,作为 SD 卡。一个没有给你可复制代码并强迫你阅读一些文档的答案并不意味着它是错误的。有关更多信息,请参阅答案中添加的链接。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      以下对我有用!

      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);
      

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-10-12
          • 2015-01-03
          • 1970-01-01
          • 2013-05-17
          • 2020-03-26
          • 2012-12-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多