Я пытаюсь отправить файл в виде вложения через почтовый клиент телефона с помощью Titanium Mobile.Я столкнулся с ошибкой, когда вложение отправляется, но принимается в виде 0-байтового файла.
Проблема в том, что файл, созданный в data/data/package/app_appdata
, имеет значение -rw------
Судя по взгляду на Android SDK, это дизайн.«Личное хранилище» приложения доступно для чтения только владельцу этой папки, работающему приложению.Я предполагаю, что почтовый клиент Android может видеть этот файл, но не может его прочитать.
В полном Android SDK упоминается MODE_WORLD_WRITABLE, который позволяет вам продолжать использовать applicationDataDirectory и давать всем приложениям разрешение на чтение / запись этогофайл.Существует ли аналог в Titanium Mobile?
Другое решение заключается в создании временного файла, который, к сожалению, использует собственную схему именования Titanium (tiXXXXX.txt), или я мог бы записать в «внешнее хранилище», так как оноpublic (который может быть не всегда доступен, однако.)
Это вызов, который я использую для получения текущего файла, его можно прочитать в моем приложении просто отлично, но когда я использую addAttachment
вызов emailDialog
просто отправляет мне 0 байтовый файл.
var f = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory, "generated_filename.txt")