Когда следует удалить временный файл, используемый в Intent.SEND для вложенного письма - PullRequest
4 голосов
/ 27 августа 2010

Мы генерируем временный файл на устройстве Android и прикрепляем его к электронной почте.Мы используем пользовательский контент-провайдер для подачи этого файла в приложение электронной почты.Проблема заключается в том, что приложение электронной почты обращается к файлу много раз, а не один раз, пока оно, наконец, не отправит электронное письмо (например, каждый раз, когда оно пишет черновик, мы получаем запрос). когда удалить этот временный файл.

Есть какие-нибудь идеи относительно безопасного способа узнать, когда наша электронная почта была доставлена, чтобы мы могли очистить устройство и не оставить мусор?(периодически удалять также не кажется правильным, так как телефон может быть некоторое время с электронной почтой в папке «Черновики»)

Большое спасибо за помощь!

1 Ответ

1 голос
/ 13 июня 2011

Да, да, я знаю, что это год.Но мы столкнулись с тем же.

Мы использовали ContentProvider.openFile () для синтеза данных по требованию и их потоковой передачи непосредственно в почтовое приложение, а не для записи во временный файл.Для этого вам нужно вернуть строку, соответствующую OpenableColumns из метода query () вашего ContentProvider;приложение электронной почты затем вернет openFile (), и вы вернете ParcelFileDescriptor.

К сожалению, все это немного чёрная магия, и мы обнаружили, что многие приложения ошибаются - DropBox немного проблематичени сейчас (причина, по которой я заметил ваш вопрос) мы боремся с фирменным интерфейсом Samsung от Bluetooth.Почему продавцы не могут просто оставить вещи в покое, я не знаю ...

...