【问题标题】:Problem saving on sdcard of Nexus S在 Nexus S 的 SD 卡上保存问题
【发布时间】:2011-08-29 12:37:13
【问题描述】:

我无法在 Nexus S 上保存文本文件。状态已挂载,路径正常 (/sdcard/filename),我的清单文件中有用于外部存储的权限。

程序在这一行给出IOException

File file = new File(path, fileName + ".txt");

我不知道如何检测问题,尤其是如果它在 Galaxy Mini 上运行良好。一段时间以来,我一直在努力在三星 Galaxy 上保存一个 txt 文件,但通过从定义 min sdk 版本的清单文件中删除一行来使其工作。它实际上不接受任何 min sdk 版本,所以我暂时将其完全删除...

谁能帮忙?

【问题讨论】:

  • 我认为如果您在创建“路径”和“文件名”的位置发布代码会有所帮助。此外,如果您粘贴异常,如果有的话。

标签: android save sd-card ioexception nexus-s


【解决方案1】:
String path= Environment.getExternalStorageDirectory().toString()+"/";
File file = new File(path+fileName + ".txt");

试试看

【讨论】:

  • 看来问题出在 API 版本上:getExternalStorageDirectory() 适用于
  • (对不起,不习惯这个系统,cmets 过期等等)需要 getExternalFilesDir() 的 Nexus S。我将目标 Android 版本更改为 2.2 并且一切正常,但我仍然不清楚如何使其也能在 2.1 上运行。
【解决方案2】:

docs 中所述,您应首先检查是否已挂载外部媒体:

if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) 

然后通过Environment.getExternalStorageDirectory()使用它。

如果您打算保存公开访问的文件(图片、视频、音乐等),请使用 Environment. getExternalStoragePublicDirectory(..) 和适当的参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-05
    相关资源
    最近更新 更多