在我的Android应用程序中,我创建了一个文件并在其中编写了一些测试文本:
File externalPath = getExternalFilesDir(null);
File importPath = new File(externalPath, "pd-import");
if(!importPath.exists()) {
Log.d(this.getClass().getSimpleName(), "Create import dir: " + importPath.getAbsolutePath());
importPath.mkdirs();
}
File readme = new File(importPath, "README.txt");
try {
FileWriter fw = new FileWriter(readme);
fw.write("This is a test");
fw.flush();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
这会写入文件,可以使用像 B1文件管理器这样的Android文件浏览器批准。它已写入 HOME / Android / data / JAVA_PACKAGE_NAME / files / pd-import / README.txt Screenshot with Folder http://i58.tinypic.com/20zd6b4.png
logcat告诉我: D / MainActivity:创建导入目录:/ storage / emulated / 0 / Android / data / JAVA_PACKAGE_NAME / files / pd-import
当我通过USB连接我测试代码的Nexus到我的Ubuntu笔记本电脑时,我看到所有其他应用程序数据目录,如 NEXUS 5 / Interner Speicher / Android / data / ALL_THE_OTHER_JAVA_PACKAGE_NAMEs ( " Interner Speicher"代表:内部记忆)。但未列出我的应用程序未列出的文件夹。
Screenshot without the folder http://i62.tinypic.com/xc0kea.png
我是否需要设置一些额外的medatdata / information / whatever,以便通过MTP连接列出文件夹? Anny的建议?
答案 0 :(得分:1)
重启设备时是否显示目录?如果是,我认为这个错误是原因:https://code.google.com/p/android/issues/detail?id=38282
所有使用MTP而非USB Mass Storage的手机都无法正常显示 使用手机将手机连接到计算机时的文件列表 USB电缆。在设备上运行的Android应用也无法看到这些 文件。
这会影响使用Java API编写的文件,但似乎不会 影响使用C API编写的文件。
解决方案是重启设备。
似乎没有得到解决。