我们在Android设备上生成临时文件并将其附加到电子邮件中。我们使用自定义内容提供商将该文件提供给电子邮件应用程序。问题是电子邮件应用程序多次访问该文件,而不是一次,直到它最终发送电子邮件为止(例如,每次编写草稿时我们都会收到请求)。
当删除该临时文件时,很难知道。
有关安全方法的任何想法,以了解我们的电子邮件何时发送,以便我们可以清理设备而不留下垃圾? (定期删除也似乎不正确,因为手机可以暂时使用“草稿”文件夹中的电子邮件)
非常感谢您的帮助!
答案 0 :(得分:1)
我们所做的是使用ContentProvider.openFile()按需合成数据并将其直接流式传输到电子邮件应用程序,而不是将其写入临时文件。为此,您需要从ContentProvider的query()方法返回符合OpenableColumns的行;然后,电子邮件应用程序将返回openFile()并返回ParcelFileDescriptor。
不幸的是,它有点黑魔法,我们发现许多应用程序都错了 - DropBox有点问题,而且现在(我注意到你的问题的原因)我们正在与三星的战斗专有的蓝牙前端。为什么供应商不能单独留下我不知道......