【发布时间】:2015-04-06 15:46:32
【问题描述】:
我们的应用中有一个功能可以将文件保存到 ExternalStoragePublicDirectory。下面是我们使用的目录路径。 Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
看起来文件正在保存在目录中。但我无法在桌面或 Chromebook 中找到保存的文件。有人可以指出我正确的方向吗?
【问题讨论】:
我们的应用中有一个功能可以将文件保存到 ExternalStoragePublicDirectory。下面是我们使用的目录路径。 Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
看起来文件正在保存在目录中。但我无法在桌面或 Chromebook 中找到保存的文件。有人可以指出我正确的方向吗?
【问题讨论】:
在 ARC 下,您的外部存储文件正在被读取并写入 HTML5 文件系统。在 Chrome 应用程序(包括您的)下有自己的文件系统。
您可以使用一些实验性开发工具通过 Chrome(桌面或 Chromebook)查看此文件系统。您必须启用它们,然后重新启动浏览器。方法如下:
现在您可以查看应用的文件系统了。
选择目录将显示目录中所有文件的基本元数据。如果支持,选择文件可能会显示它。或者,如果没有,您可能只会收到“二进制文件”消息。
如果您想实际操作超出此范围的数据,则需要使用 Android adb 命令/shell 连接浏览器,并且您应该能够“adb pull”文件。请参阅 https://developer.chrome.com/apps/getstarted_arc#bestpractices 以继续进行。
您还可以将{"enableExternalDirectory": true} 添加到应用程序的元数据中。启用此选项意味着 ARC 将提示您输入用于外部目录的目录,您可以选择系统上的真实目录来使用。但如果您在启用此功能之前已经下载了文件,则必须重新下载。
【讨论】:
{"enableExternalDirectory": true}
{"enableExternalDirectory": true} 参数位于应用程序的 manifest.json 文件中。您可能还需要{"fileSystem": ["write", "retainEntries", "directory"]},。还有一件事,您当然必须在更改清单文件后通过 chrome://extensions 重新加载应用程序。