【问题标题】:Create a file in SD card path in few devices在少数设备的 SD 卡路径中创建文件
【发布时间】:2018-04-23 14:10:31
【问题描述】:

是否可以在 SD 卡中创建文件?或至少将文件从内部存储复制到 SD 卡?我试过getExternalStorageDirectory(),它返回一些手机的内部存储。尝试了其他方法来获取 SD 卡的路径。但是file.mkdir() 总是返回 false。

【问题讨论】:

标签: android file android-sdcard


【解决方案1】:

不要忘记这个权限:

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

另外一个question是一个在SD卡上创建文件的例子。

【讨论】:

    【解决方案2】:

    问题在于,正如您所说,getExternalStorageDirectory() 不会在每台设备上都返回 SD 卡。对于 Android,它被称为外部,因为它不是您的包私有的,并且可以被其他应用程序访问,而对于 Android,内部是当只有您的应用程序可以访问文件时(例如,它可以是您的数据库)。无法保证您每次都能为每台设备获得 SD 卡。
    看看对您的问题的评论,它提供了一个有用的链接,指向 CommonsWare 的答案,它很好地解释了这个问题。在下面您可以找到一些解决方法,例如this one。

    至于mkdir()为什么返回false,一个原因可能是权限。我相信外部存储是危险权限的一部分,因此您需要在运行时获取它,而不仅仅是在清单中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-22
      • 2011-08-06
      • 2012-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-05
      相关资源
      最近更新 更多