У меня проблемы с отправкой вложения по электронной почте.
Во-первых: я использую iText5 для печати текста в PDF. PDF хранится в моей папке с активами:
AssetManager am = getAssets();
InputStream fs;
FileOutputStream fOut ;
try
{
fs = am.open("RFA2_10_11.pdf");
PdfReader pdfReader = new PdfReader(fs);
Log.d("pdfreader", pdfReader.getFileLength()+" kello");
fOut = openFileOutput("DocStamped.pdf",
MODE_WORLD_READABLE);
PdfStamper stamper = new PdfStamper(pdfReader, fOut);
PdfContentByte canvas = stamper.getOverContent(1);
ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("Stefano Molle"), 250, 710, 0);
ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase("4 Saint Pappins Road, Glasnevin, Dublin 11"), 250, 645, 0);
stamper.close();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (DocumentException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
Таким образом, созданный PDF-файл хранится в корневом каталоге файлов моего приложения.
Мне нужно отправить сохраненный файл DocStamped.pdf в виде вложения в электронное письмо:
String emailTo = "example@example.com";
//lets send the email
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);
emailIntent.setType("text/plain");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{emailTo});
ArrayList<Uri> uris = new ArrayList<Uri>();
File file = new File(getFilesDir()+"/"+"DocStamped.pdf");
Log.d("file", file.getAbsolutePath());
Uri uri = Uri.fromFile(file);
uris.add(uri);
emailIntent.putExtra(Intent.EXTRA_STREAM, uri);
// emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
startActivity(Intent.createChooser(emailIntent, "Send mail..."));
Теперь это мой код для отправки электронного письма. но у меня проблемы. В приложении написано, что вложение есть, но когда я проверяю свою учетную запись электронной почты в браузере, вложения нет, только текст, в который я пишу.
Есть идеи, ребята, почему вложение не отправляется?