从 Titanium Mobile 中的 applicationDataDirectory 更改文件的权限



我正在尝试使用Titanium Mobile通过手机的电子邮件客户端发送文件作为附件。我在发送附件的地方遇到了一个障碍,但以 0 字节文件的形式接收。

问题是在data/data/package/app_appdata中创建的文件-rw------

从看一眼Android SDK来看,这是设计使然。应用程序的"专用存储"只能由该文件夹的所有者(正在运行的应用程序)读取。我假设Android电子邮件客户端可以看到该文件,但无法读取它。

完整的Android SDK提到了一个MODE_WORLD_WRITABLE,它允许您继续使用applicationDataDirectory,并授予所有应用程序读取/写入该文件的权限。钛移动中是否存在等效物?

另一种解决方案是创建一个临时文件,不幸的是,该文件使用Titanium自己的命名方案(tiXXXXX.txt),或者我可以写入"外部存储",因为它是公共的(但是可能并不总是可用)。

这是我用来获取当前文件的调用,它可以在我的应用程序中读取就可以了,但是当我使用emailDialogaddAttachment调用时,它只是向我发送一个 0 字节的文件。

var f = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory, "generated_filename.txt")

您是否尝试过改用tempDirectory。我当然假设一旦文件通过电子邮件发送,您就不需要保留它,因为applicationDataDirectory已完全备份并且通常用于存储应用程序保留的数据。

http://developer.appcelerator.com/apidoc/mobile/latest/Titanium.Filesystem.tempDirectory-property.html

相关内容

  • 没有找到相关文章

最新更新