我正在尝试使用Titanium Mobile通过手机的电子邮件客户端发送文件作为附件。我遇到了附件发送的障碍,但收到的是0字节文件。
问题是data/data/package/app_appdata
中创建的文件是-rw------
通过浏览Android SDK,这是设计的。应用程序的“私有存储”只能由该文件夹的所有者(正在运行的应用程序)读取。 我认为Android电子邮件客户端可以看到该文件,但无法读取它。
完整的Android SDK提到了MODE_WORLD_WRITABLE,它允许您继续使用applicationDataDirectory并授予所有应用程序读/写该文件的权限。 Titanium Mobile中是否存在等价物?
另一个解决方案是创建一个临时文件,不幸的是使用了Titanium自己的命名方案(tiXXXXX.txt),或者我可以写入“外部存储”,因为它是公共的(但可能并不总是可用)。 )
这是我用来获取当前文件的调用,它可以在我的应用程序中读取就好了,但是当我使用addAttachment
emailDialog
调用时,它只是发送一个0字节文件给我。
var f = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory, "generated_filename.txt")
答案 0 :(得分:1)
您是否尝试过使用tempDirectory
。我当然假设一旦文件通过电子邮件发送,您不需要保留它,因为applicationDataDirectory
已完全备份,通常用于存储应用程序保留的数据。