我正在开发的应用程序在这里遇到了一个奇怪的问题。它使用 Apache Codova 3.0.0 和 stock 文件插件在带有 Android 4.3 的三星 Galaxy Nexus 的外部存储上创建一个目录,并在其中添加一些文件。
这里发生的情况是我实际上能够做到这一点,但是当我将设备作为大容量存储设备连接到计算机时,包含文件的创建目录没有显示出来。所有其他文件夹都正常显示,但我创建的文件夹除外。但是,当我使用“adb shell”浏览设备时,我可以看到该文件夹,并且“ls -al”中的目录模式与所有其他目录模式完全相同。READ 和 WRITE 权限被授予应用程序。
我也在 Android 代码中尝试过相同的操作,它的行为完全相同:
File f = new File(Environment.getExternalStorageDirectory().toString()+"/myFolder");
if (!f.isDirectory()) {
f.mkdir();
Log.i("myApp", "Created directory: "+f);
}
此操作成功,但当我将设备重新连接到计算机时,该文件夹再次不可见。提一下:我从 IDE 运行应用程序 - 所以也许:是否有沙箱或我不知道的沙箱,这可能导致使用 adb shell 在 /sdcard 中显示内容,但在连接为外部存储时不显示?
我想我必须在这里错过一些基本的东西,希望你们能回答我:)
谢谢!