【发布时间】:2013-05-10 23:16:01
【问题描述】:
所以我正在 4.1 的 Galaxy s3 和运行 2.3 的旧手机上测试一个应用程序。两部手机都没有 sdcard,但是当我在我的 Galaxy s3 上使用 Environment.getExternalStorageDirectory().getAbsolutePath() 时,它会将我定向到名为 storage 的文件夹中名为 sdcard0 的文件夹。当我在旧手机上运行它时,它会给我路径 mnt/sdcard/ 并且 sdcard 文件夹是只读的。
我正在尝试在这些目录中创建一个文件夹。我可以在我的 s3 上做到这一点,但在我的旧手机上却不行。
是否有类似于我在旧手机上缺少的存储文件夹的东西,或者我可以在没有 sd 卡的情况下写入 sdcard 文件夹吗?
编辑:我的清单中有外部写入权限
【问题讨论】:
-
只是一种预感,但您是否尝试过不使用 getAbsolutePath()?
-
插入 SD 卡后,系统会将其挂载到该挂载点。如果没有 sdcard,它只是一个指向任何内容的挂载点。所以,不,你不能写信给它。
-
getExternalStorageState() 说什么?
-
很确定 S3s sdcard0 是它的内部存储。令人困惑的命名,但我认为是这样!
-
能否提供更多细节、代码示例和结果?