java - 无法使用 Windows 文件资源管理器找到使用 Android App 创建的文件夹或文件

标签 java android

我正在我的一个应用程序的 SD 卡上创建一个目录和一个文本文件,因为我希望能够将它移动到我的计算机上进行分析。但是我无法使用计算机上的文件浏览器找到我在 SD 卡上创建的文件夹或文件。 我可以使用手机文件管理器查找和读取文件,但不能使用 Windows 中的文件浏览器。 所以文件和文件夹已成功创建,我可以写入文件,我也可以使用手机上的文件管理器查找和读取文件,但我无法使用我的计算机找到目录或文件。

我有应用程序的使用权限,允许它写入外部存储。

这是我用来创建文件和目录的代码。

String fileName = "testFil.txt";
String path = Environment.getExternalStorageDirectory().getAbsolutePath()+"/PulsApp";

File appDirectory = new File(path);
appDirectory.mkdirs();
File file = new File(path, fileName);

try {
    file.createNewFile();
} catch (IOException e) {
}

有谁知道问题出在哪里以及如何解决?我真的需要能够将文件写入我的 SD 卡,以便将它们传输到我的计算机。

我对这个问题感到非常困惑,因为我所做的所有研究都表明其他人都在做同样的事情。

最佳答案

如果您的设备运行的是 Android 3.0 或更高版本,您还需要使用 MediaScannerConnection 为新创建的文件编制索引,然后它才会显示在开发 PC 的文件资源管理器中。

更准确地说,新创建的文件需要被 MediaStore 索引。由于其他原因(例如,设备重启)最终会发生这种情况。但是,您最好在 MediaScannerConnection 上使用 scanFile() 以使其更快地发生。

blogged about this last summer .

关于java - 无法使用 Windows 文件资源管理器找到使用 Android App 创建的文件夹或文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9821817/

相关文章:

java - 如何在没有提交表单的情况下使用ajax将数据发送到servlet

java - ArrayList 中 ensureCapacity 方法中使用的逻辑

java - 使用Json访问特定属性

Android - 如何创建像 WhatsApp 聊天一样的操作栏?

android - RecyclerView 滚动时改变高度如何解决?

java - android java类无法识别R文件

java - Servlet Faces Servlet 的错误 StandardWrapperValve[Faces Servlet] :PWC1406: Servlet. service() 引发异常

java - Android Studio - 找不到 JVM 安装

Java - 序列化对象内的序列化对象的问题

android - 触发 Android 股票彩信应用程序发送待处理消息