[英]Android: possible to attach a file to email without writing to SD?
我的應用程序將數據本地存儲在本機SQLite數據庫中,我希望允許用戶通過向自己發送.csv文件來導出這些數據。 為了做到這一點,我從數據庫生成.csv並將其寫入SD卡,然后將其附加到電子郵件中:
StringBuilder csv = generateFile();
writeFile(csv.toString(),"file.csv");
Intent email = new Intent(android.content.Intent.ACTION_SEND);
email.setType("application/octet-stream");
email.putExtra(android.content.Intent.EXTRA_STREAM, Uri.parse("file://sdcard/file.csv"));
哪一切都很棒。 但我想知道的是,是否有可能首先跳過寫入SD的步驟,並直接附加數據。
即使有可能,我也建議不要這樣做。
用於啟動活動的Intents
將持續(可能)相當長的時間 - 只要有問題的活動是“活着的”並且可以想象地返回(例如,回到堆棧,因為用戶拿了電話在撰寫電子郵件時打電話,然后通過短信聊半小時)。
此外,作為其中的一部分, Intents
會在進程之間進行復制。 例如,電子郵件客戶端的過程與您的應用程序不同。
出於這兩個原因,您需要保持Intents
較小。 Uri
對內容的唯一替代方案是將內容直接放在額外的內容中......而且這個CSV文件可能會變得有點大。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.