【问题标题】:Writing a file to nexus 4 device is not working将文件写入 nexus 4 设备不起作用
【发布时间】:2014-03-11 20:47:59
【问题描述】:

我正在尝试使用以下代码在设备上创建文件

private void createFileOnDevice(Boolean append) throws IOException {

        File Root = Environment.getExternalStorageDirectory();
        if (Root.canWrite()) {
            File LogFile = new File(Root, "log.txt");
            FileWriter LogWriter = new FileWriter(LogFile, append);
            out = new BufferedWriter(LogWriter);
            Date date = new Date();
            out.write("Logged at"
                    + String.valueOf(date.getDay() + "-" + date.getHours()
                            + ":" + date.getMinutes() + ":" + date.getSeconds()
                            + "\n"));
        }
    }

代码工作正常,当我在具有 android 版本 2.3.5 到 4.3 的设备上运行时,它会创建一个文件。

但是当我在具有最新 android 版本(4.4.2,kitkat)的 Nexus 4 上运行相同的应用程序时,我无法创建文件。另外,我没有收到任何错误。

我该如何解决??..

提前谢谢:):)

【问题讨论】:

  • 有很简单的解释Root.canWrite()返回false
  • @selvin 谢谢 :),但为什么我没有上其他版本。为什么是4.4.2,能解释一下原因吗?
  • 我的清单文件中有 WRITE_EXTERNAL_STORAGE 权限。

标签: android file-io


【解决方案1】:

问题可能是 nexus 4 上缺少外部存储...

当你测试时,你是在调试模式下测试它吗?如果是这样,您的操作系统将可以访问 nexus 4 而不是手机上的存储。当手机可以访问存储时尝试测试它,看看会发生什么......

【讨论】:

  • nexus 4 中不能有存储卡。它没有插槽。尝试在手机上安装应用程序,将其退出调试模式,将手机与 PC 连接,然后再次测试
  • 您的问题的解决方案是什么?如果您接受此答案,请在此处提及。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-23
  • 1970-01-01
  • 2011-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多