如何使用 PhoneGap 在 sdcard 中 read/write 文件?

How read/write file in sdcard using PhoneGap?

我正在使用 PhoneGap 在 SD 卡上尝试 write/read 文件。阅读 Android File System 我测试 cordova.file.dataDirectory、cordova.file.externalApplicationStorageDirectory、cordova.file.externalRootDirectory 但这让我可以访问:

  1. file:///data/user/0//文件
  2. 文件:///storage/emulated/0/Android/data/
  3. 文件:///storage/emulated/0/

问题是,我可以 read/write 这个目录,但我需要离开这个文件 public,离开沙箱。

那么,知道怎么做吗?

自 Android 4.4 起,应用程序在其沙盒之外只能进行只读访问。该应用程序唯一具有写入权限的地方是在其沙盒区域内:

  • 在/data/区,例如file:///data/data/your.app.id/
  • 在内部/sdcard 区域,例如file:///storage/emulated/0/Android/data/your.app.id/
  • 在外部 SD 卡区域(如果存在)例如file:///storage/emulated/1/Android/data/your.app.id/ - 注意:这不能通过 cordova-plugin-file
  • 访问

应用无法写入这些沙盒区域之外的其他位置。