Я использую следующий код для отправки электронной почты из моего андроида приложения:Отправка электронной почты с вложением в андроиде программно
Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"});
email.putExtra(Intent.EXTRA_SUBJECT, "subject");
email.putExtra(Intent.EXTRA_TEXT, "message");
emailIntent.putExtra(Intent.EXTRA_STREAM, uri);
email.setType("plain/text");
startActivity(Intent.createChooser(email, "Choose an Email App:"));
Это прекрасно работает для всех сообщений электронной почты отправки приложений, но он показывает слишком много вариантов, таких как facebook, твиттер, Bluetooth, чтобы отправить это письмо. Я просто хотел видеть приложения электронной почты на выбор.
Итак, я заменил email.setType("plain/text");
на email.setType ("message/rfc822");
Теперь он показывает только приложения электронной почты и отлично работает для всех приложений электронной почты, установленных на моем устройстве, кроме приложения Outlook. Приложение Outlook не отправляет вложение правильно. В конце приема я получаю странные символы вместо прикрепленного файла.
Затем я заменил email.setType("message/rfc822");
на email.setType («application/octet-stream»);
Это решение проблемы с Outlook Outlook, но теперь я не могу отправлять электронные письма с помощью приложения электронной почты по умолчанию для Android. Он отправляет электронную почту без вложения.
Вы проверили это http://stackoverflow.com/questions/8280166/intent-with-settypemessage-rfc822-for-android-api-level-before-2-3-3 – Rahul
Да, я пробовал этот путь отправки писем. Это игнорирует привязанность. – Adnan