是否可以在SD卡中创建文件?或至少将文件从内部存储器复制到SD卡?我尝试了getExternalStorageDirectory()
,它返回了某些手机的内部存储空间。尝试了其他方法来获得SD卡的路径。但file.mkdir()
总是返回false。
答案 0 :(得分:1)
别忘了这个许可:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
在SD卡上创建文件的示例是另一个question。
答案 1 :(得分:0)
问题在于,正如您所说getExternalStorageDirectory()
并未在每台设备上返回SD卡。对于Android,它被称为外部,因为它不是您的包的私有,并且可以被其他应用访问,而Android的内部只有您的应用可以访问文件(例如,它可以是您的数据库)。无法保证每次设备都能获得SD卡
看看你的问题的评论,它为CommonsWare的答案提供了一个有用的链接,它解释了这个问题。在下面你可以找到一些像this之类的解决方法。
至于为什么mkdir()
返回false,一个原因可能是权限。我相信外部存储是危险权限的一部分,因此您需要在运行时获取它,而不仅仅是在清单中。