La mia applicazione memorizza i dati localmente nel db SQLite nativo e voglio consentire agli utenti di esportare questi dati inviando loro stessi un file .csv. Per fare questo ho generare il .csv dal database e la scrittura sulla scheda SD, quindi allegarlo a un e-mail:Android: è possibile allegare un file all'e-mail senza scrivere su 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"));
che tutte le grandi opere. Quello che mi sto chiedendo, però, è se è possibile saltare prima la fase di scrittura su SD e allegare direttamente i dati.
Non ho intenzione di postare questo come risposta, ma non puoi semplicemente scrivere il file CSV in uno streaming in memoria e quindi passare quel flusso nell'intento dell'email? – MattC
@MattC: no, perché non esiste un tipo "extra" che è uno stream. – CommonsWare
+1 buona domanda .. – SRam