何时删除Intent.SEND中用于附加电子邮件的临时文件?

时间:2010-08-27 02:37:50

标签: android email attachment android-contentprovider

我们在Android设备上生成临时文件并将其附加到电子邮件中。我们使用自定义内容提供商将该文件提供给电子邮件应用程序。问题是电子邮件应用程序多次访问该文件,而不是一次,直到它最终发送电子邮件为止(例如,每次编写草稿时我们都会收到请求)。

当删除该临时文件时,很难知道

有关安全方法的任何想法,以了解我们的电子邮件何时发送,以便我们可以清理设备而不留下垃圾? (定期删除也似乎不正确,因为手机可以暂时使用“草稿”文件夹中的电子邮件)

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

是的,是的,我知道这是一岁。但是我们遇到了同样的事情。

我们所做的是使用ContentProvider.openFile()按需合成数据并将其直接流式传输到电子邮件应用程序,而不是将其写入临时文件。为此,您需要从ContentProvider的query()方法返回符合OpenableColumns的行;然后,电子邮件应用程序将返回openFile()并返回ParcelFileDescriptor。

不幸的是,它有点黑魔法,我们发现许多应用程序都错了 - DropBox有点问题,而且现在(我注意到你的问题的原因)我们正在与三星的战斗专有的蓝牙前端。为什么供应商不能单独留下我不知道......