1

我正在将数据写入我想通过 USB 提供给用户的文件,即设备连接到 PC,用户可以从设备中提取文件。

我的设备是没有 SD 卡的 Google Nexus 5。当我将 Nexus 连接到我的 PC 时,我可以在内部存储下看到文件夹 Android/data/'package'。

如何在这里为我的包创建目录?

我曾尝试使用 getExternalFilesDir 和 getExternalStoragePublicDirectory,但它们仅将数据存储在 PC 不可见的临时模拟 SD 卡上(但在 Eclipse/DDMS 中)。一个类似的案例没有帮助。

更新 1 重新启动设备后,我能够在 /Android/data/'package'/file 下看到一个文件。它到达那里查看 getExternalFilesDir(null)。当我现在写入数据时,我在资源管理器中看不到立即更新。我必须一直重新启动还是有办法刷新资源管理器?

更新 2 似乎文件在那里。我能够运行 SQLite 数据库备份和恢复,而无需在 Windows 资源管理器中看到文件。知道需要什么以便无需重新启动即可看到它们仍然很有趣。

任何想法都值得赞赏。

麦克风

4

1 回答 1

1

我使用了以下代码,它在 nexus 5 和所有其他设备上运行良好

File path = getDir();  //call this function in your code

将下面的代码放在你的类中,它返回路径的目录

   private File getDir() {
            File sdDir = Environment.getExternalStoragePublicDirectory(Environment.MainDirectory);
            return new File(sdDir, "yourdirectoryname");
            }
于 2014-07-31T19:04:36.460 回答