在少数设备中在SD卡路径中创建文件

时间:2018-04-23 14:10:32

标签: android file android-sdcard

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

2 个答案:

答案 0 :(得分:1)

别忘了这个许可:

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

在SD卡上创建文件的示例是另一个question

答案 1 :(得分:0)

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

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