5
Chcę wysłać wysłać kilka plików przez e-mail. Znalazłem to Android multiple email attachments using Intent, ale działa i nie dostaję żadnego komunikatu o błędzie. Po prostu nie załączam plików (próbowałem też wysłać tylko jeden plik, ale otrzymałem taki sam wynik).Android Intent: Wyślij e-mail z załącznikiem
Czy coś nadzorowałem? Masz jakieś sugestie?
private static void email (Context context, String emailTo, String emailCC,
String subject, String emailText, List<String> filePaths)
{
//need to "send multiple" to get more than one attachment
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
emailIntent.setType("text/xml");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
new String[]{emailTo});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, emailText);
//has to be an ArrayList
ArrayList<Uri> uris = new ArrayList<Uri>();
//convert from paths to Android friendly Parcelable Uri's
for (String file : filePaths)
{
File fileIn = new File(file);
// Uri u = Uri.fromFile(fileIn);
Uri u = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "blabla.xml"));
Log.v("bla", "filepath: " +u.toString());
uris.add(u);
Uri b = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "blabla.es"));
uris.add(b);
Log.v("bla", "filepath: " +b.toString());
}
emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
context.startActivity(emailIntent);
}
LogCat:
03-06 16:08:50.940: INFO/ActivityManager(69): Starting: Intent { act=android.intent.action.SEND_MULTIPLE typ=text/xml cmp=com.android.email/.activity.MessageCompose (has extras) } from pid 436
03-06 16:08:52.130: INFO/ActivityManager(69): Displayed com.android.email/.activity.MessageCompose: +1s118ms
03-06 16:08:52.470: WARN/IInputConnectionWrapper(436): showStatusIcon on inactive InputConnection
Oczywiście, ale czy na pewno ścieżki do plików są poprawne i wskazują rzeczywiste pliki? – dymmeh
ścieżki do plików są poprawne – user1252642
Większość programów pocztowych nie będzie w stanie obsłużyć typów MIME "text/xml". Co więcej, większość użytkowników nie może odczytać XML. Rozważ proszę użycie prozy e-mailowej "text/plain" lub "text/html' email". – CommonsWare