【问题标题】:Android Write file to accessible folder for windows usb file transferAndroid 将文件写入可访问文件夹以进行 Windows USB 文件传输
【发布时间】:2014-03-10 15:21:25
【问题描述】:

我正在使用标准的 Nexus 5 操作,该 Nexus 5 没有使用标准 vanilla android 4.4.2

我想创建一个可在 Windows 中通过标准 USB 连接器访问的新文件。我不想root我的手机。

这是我的代码的 sn-p:

File outputFile = new File(new File(getFilesDir().getParentFile(), "assets"), "example.xml");

有谁知道任何可在应用程序中写入 + 可通过 USB 传输读取的目录?

感谢您的帮助! :)

【问题讨论】:

    标签: android windows file-io file-transfer


    【解决方案1】:

    您可以像这样在外部存储上创建文件:

    String fileName = "example.xml";
    String myDirectory = "myDirectory";
    String externalStorage = Environment.getExternalStorageDirectory().getAbsolutePath();
    
    File outputFile = new File(externalStorage + File.separator + myDirectory + File.separator + fileName);
    

    【讨论】:

    • 这指向 /storage/emulated/0,Nexus 5 没有 SD 卡,我假设 getExternalStorageDirectory() 指向 SD 卡?
    • 通常Environment.getExternalStorageDirectory().getAbsolutePath()应该是Windows中列出的USB存储驱动器的根文件夹
    • 在没有硬件 SD 卡的设备上,getExternalStorageDirectory() 指向手机的虚拟 SD 卡(这就是 emulated 的含义)。所以这对你的场景来说很好
    • 感谢您的帮助,您的正确+谢谢
    【解决方案2】:

    事实证明,通过 USB 显示的文件没有自动文件系统刷新,在我的情况下,我使用 android 文件管理器在文件通过 USB 可见之前查看文件。上面的答案支持我得到这个答案。

    【讨论】:

      【解决方案3】:

      我也想做类似 OP Snake 的事情。我用过

      Environment.getExternalStorageDirectory().getAbsolutePath()
      

      在打开 Windows 资源管理器并转到我的 Android 设备时将文件放在顶层目录中。

      但是,以下帖子明确表示您必须重新启动手机才能真正看到新创建的文件。我也必须做这个额外的步骤。

      来源:https://android.stackexchange.com/questions/63640/how-to-access-storage-emulated-0-from-pc

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-05-27
        • 1970-01-01
        • 2012-10-02
        • 2022-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-31
        相关资源
        最近更新 更多