In varie applicazioni Android, utilizzo il seguente codice per mostrare un selettore di applicazioni per e-mail e, dopo che l'utente ha deciso per una delle app, inserire un testo predefinito in il modulo email:E-mail che ignora interruzioni di riga nel testo predefinito (Android)
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] { "[email protected]" });
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Sample subject");
String contentStr = "";
for (Object o : mArrayList) { // mArrayList: ArrayList<Object>
content = contentStr+o.toString()+"\n";
}
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, backupStr);
startActivity(Intent.createChooser(emailIntent, "Choose application"));
Nel ciclo for, uscita stringa degli oggetti è concatenato con la stringa temporanea 'contentStr'. Dopo ogni oggetto, dovrebbe esserci un'interruzione di riga ("\ n").
Così quando provo questo codice sul mio telefono, funziona perfettamente e ogni singolo oggetto ha una propria linea.
Ma gli utenti segnalano che la loro applicazione di posta elettronica (anche lo standard di Android) mette tutto in una riga e ignora le interruzioni di riga.
Quindi sto facendo qualcosa di sbagliato? O posso semplicemente ignorare questo bug report in quanto non è un problema che lo sviluppatore può risolvere?
Si potrebbe provare 'text/plain' invece di' plain/text'. Inoltre, dovresti usare 'StringBuilder' invece di fare tutta quella concatenazione. Sono scettico sul fatto che, comunque, sia d'aiuto per il tuo problema. – CommonsWare
Grazie! Ma per favore vedi i miei commenti qui sotto per vedere uno svantaggio di "text/plain". – caw
come ha sottolineato Marco W., "message/rfc822" è il tipo mime corretto per le email – njzk2