En varias aplicaciones de Android, utilizo el siguiente código para mostrar un selector de aplicaciones para correo electrónico y, después de que el usuario haya decidido utilizar una de ellas, inserte un texto predefinido en el formulario de correo electrónico:intento de correo electrónico ignorar saltos de línea en texto preestablecido (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"));
En el bucle de, cadena de salida de los objetos se concatena con la cadena temporal 'contentStr'. Después de cada objeto, debería haber un salto de línea ("\ n").
Así que cuando pruebo este código en mi teléfono, funciona bien y cada objeto tiene su propia línea.
Pero los usuarios informan que su aplicación de correo electrónico (estándar Android también) pone todo en una línea e ignora los saltos de línea.
Entonces, ¿estoy haciendo algo mal? ¿O puedo simplemente ignorar este informe de error ya que no es un problema que el desarrollador pueda resolver?
Puede intentar 'text/plain' en lugar de' plain/text'. Además, deberías estar usando 'StringBuilder' en lugar de hacer toda esa concatenación. Sin embargo, soy escéptico de que cualquiera ayude con tu problema. – CommonsWare
¡Gracias! Pero por favor vea mis comentarios a continuación para ver una desventaja de "text/plain". – caw
como señaló Marco W., "message/rfc822" es el tipo de mime correcto para los correos electrónicos – njzk2